From ed0f9a9e1a8faa5d316d0902bc24fc6cfd069e6b Mon Sep 17 00:00:00 2001 From: Jonas Thamane <166150947+NathiJonas@users.noreply.github.com> Date: Mon, 9 Mar 2026 00:18:10 +0200 Subject: [PATCH 1/2] Create Jonas Thamane Week 7 PR.ipynb --- .../Jonas Thamane Week 7 PR.ipynb | 4070 +++++++++++++++++ 1 file changed, 4070 insertions(+) create mode 100644 community-contributions/Jonas Thamane Week 7 PR.ipynb diff --git a/community-contributions/Jonas Thamane Week 7 PR.ipynb b/community-contributions/Jonas Thamane Week 7 PR.ipynb new file mode 100644 index 0000000000..71dd36d14c --- /dev/null +++ b/community-contributions/Jonas Thamane Week 7 PR.ipynb @@ -0,0 +1,4070 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The Price Is Right — Training and Evaluating with Claude\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1 — Install Dependencies" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[notice] A new release of pip is available: 24.0 -> 26.0.1\n", + "[notice] To update, run: c:\\Users\\Lenovo\\projects\\llm_engineering\\.venv\\Scripts\\python.exe -m pip install --upgrade pip\n" + ] + } + ], + "source": [ + "import sys\n", + "!{sys.executable} -m pip install -q anthropic python-dotenv huggingface_hub datasets \\\n", + " scikit-learn pandas plotly matplotlib tqdm" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2 — Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✅ Imports OK\n" + ] + } + ], + "source": [ + "import os\n", + "import re\n", + "import json\n", + "import math\n", + "import random\n", + "from pathlib import Path\n", + "from datetime import datetime\n", + "from itertools import accumulate\n", + "from concurrent.futures import ThreadPoolExecutor\n", + "\n", + "import anthropic\n", + "import pandas as pd\n", + "import plotly.express as px\n", + "import plotly.graph_objects as go\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.metrics import mean_squared_error, r2_score\n", + "from tqdm import tqdm\n", + "from dotenv import load_dotenv\n", + "from huggingface_hub import login\n", + "from datasets import load_dataset\n", + "\n", + "load_dotenv(override=True)\n", + "print(\"✅ Imports OK\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model : claude-haiku-4-5-20251001\n", + "Dataset : ed-donner/items_prompts_lite\n", + "Run name : 2026-03-08_22.38.35-claude\n", + "Few-shot N : 60\n" + ] + } + ], + "source": [ + "\n", + "BASE_MODEL = \"claude-haiku-4-5-20251001\"\n", + "PROJECT_NAME = \"price\"\n", + "HF_USER = \"your_hf_username\" \n", + "\n", + "DATA_USER = \"ed-donner\"\n", + "DATASET_NAME = f\"{DATA_USER}/items_prompts_lite\"\n", + "\n", + "RUN_NAME = f\"{datetime.now():%Y-%m-%d_%H.%M.%S}-claude\"\n", + "PROJECT_RUN_NAME = f\"{PROJECT_NAME}-{RUN_NAME}\"\n", + "HUB_MODEL_NAME = f\"{HF_USER}/{PROJECT_RUN_NAME}\"\n", + "REVISION = None\n", + "\n", + "EPOCHS = 1 \n", + "BATCH_SIZE = 32 \n", + "MAX_SEQUENCE_LENGTH = 128 \n", + "GRADIENT_ACCUMULATION_STEPS = 1 \n", + "\n", + "\n", + "LORA_R = 32\n", + "LORA_ALPHA = LORA_R * 2\n", + "ATTENTION_LAYERS = [\"q_proj\", \"v_proj\", \"k_proj\", \"o_proj\"]\n", + "MLP_LAYERS = [\"gate_proj\", \"up_proj\", \"down_proj\"]\n", + "TARGET_MODULES = ATTENTION_LAYERS\n", + "LORA_DROPOUT = 0.1\n", + "\n", + "\n", + "LEARNING_RATE = 1e-4\n", + "WARMUP_RATIO = 0.01\n", + "LR_SCHEDULER_TYPE = 'cosine'\n", + "WEIGHT_DECAY = 0.001\n", + "OPTIMIZER = \"paged_adamw_32bit\"\n", + "\n", + "\n", + "N_FEW_SHOT = 60 \n", + "WORKERS = 5 \n", + "\n", + "\n", + "VAL_SIZE = 500\n", + "LOG_STEPS = 5\n", + "SAVE_STEPS = 100\n", + "DEFAULT_SIZE = 200\n", + "\n", + "print(f\"Model : {BASE_MODEL}\")\n", + "print(f\"Dataset : {DATASET_NAME}\")\n", + "print(f\"Run name : {RUN_NAME}\")\n", + "print(f\"Few-shot N : {N_FEW_SHOT}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Note: Environment variable`HF_TOKEN` is set and is the current active token independently from the token you've just configured.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "HuggingFace: logged in (hf_akelc...)\n" + ] + } + ], + "source": [ + "\n", + "hf_token = os.getenv(\"HF_TOKEN\", \"\")\n", + "\n", + "\n", + "if hf_token:\n", + " login(hf_token, add_to_git_credential=True)\n", + " print(f\"HuggingFace: logged in ({hf_token[:8]}...)\")\n", + "else:\n", + " print(\"⚠️ HF_TOKEN not set — dataset loading may fail for private repos\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Anthropic: client ready (sk-ant-api03-me...)\n" + ] + } + ], + "source": [ + "\n", + "anthropic_key = os.getenv(\"ANTHROPIC_API_KEY\", \"\")\n", + "\n", + "\n", + "if anthropic_key:\n", + " client = anthropic.Anthropic(api_key=anthropic_key)\n", + " print(f\"Anthropic: client ready ({anthropic_key[:15]}...)\")\n", + "else:\n", + " raise ValueError(\"ANTHROPIC_API_KEY not set\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4 — Load the Dataset\n", + "\n", + "Same dataset as the original: `ed-donner/items_prompts_lite` from HuggingFace." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train : 20,000 items\n", + "Val : 500 items\n", + "Test : 1,000 items\n", + "\n", + "Sample train item keys: ['prompt', 'completion']\n", + "Sample prompt:\n", + "What does this cost to the nearest dollar?\n", + "\n", + "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", + "Category: Home Hardware \n", + "Brand: Schlage \n", + "Description: A single‑piece oil‑rubbed bronze knob that mounts to a deadbolt for secure, easy interior door use. \n", + "Details: Designed for a 4\" mi\n" + ] + } + ], + "source": [ + "dataset = load_dataset(DATASET_NAME)\n", + "train_ds = dataset['train']\n", + "val_ds = dataset['val'].select(range(min(VAL_SIZE, len(dataset['val']))))\n", + "test_ds = dataset['test']\n", + "\n", + "print(f\"Train : {len(train_ds):,} items\")\n", + "print(f\"Val : {len(val_ds):,} items\")\n", + "print(f\"Test : {len(test_ds):,} items\")\n", + "print(f\"\\nSample train item keys: {list(train_ds[0].keys())}\")\n", + "print(f\"Sample prompt:\\n{train_ds[0].get('prompt', train_ds[0].get('text', ''))[:300]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Full text:\n", + "What does this cost to the nearest dollar?\n", + "\n", + "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", + "Category: Home Hardware \n", + "Brand: Schlage \n", + "Description: A single‑piece oil‑rubbed bronze knob that mounts to a deadbolt for secure, easy interior door use. \n", + "Details: Designed for a 4\" minimum center‑to‑center door prep, it offers a lifetime mechanical and finish warranty and comes read\n", + "\n", + "Extracted price : $0.00\n", + "Description (first 200 chars):\n", + "What does this cost to the nearest dollar?\n", + "\n", + "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", + "Category: Home Hardware \n", + "Brand: Schlage \n", + "Description: A single‑piece oil‑rubbed bronz\n" + ] + } + ], + "source": [ + "def extract_price(text: str) -> float:\n", + " \"\"\"\n", + " Extract the price from the end of a formatted prompt.\n", + " The dataset format ends with 'Price is $X.XX'\n", + " \"\"\"\n", + " match = re.search(r'Price is \\$([\\d,]+\\.?\\d*)', text)\n", + " if match:\n", + " return float(match.group(1).replace(',', ''))\n", + " \n", + " matches = re.findall(r'\\$([\\d,]+\\.?\\d*)', text)\n", + " return float(matches[-1].replace(',', '')) if matches else 0.0\n", + "\n", + "\n", + "def extract_description(text: str) -> str:\n", + " \"\"\"\n", + " Extract the product description (everything before 'Price is $...').\n", + " \"\"\"\n", + " \n", + " cleaned = re.sub(r'\\nPrice is \\$[\\d,]+\\.?\\d*.*', '', text, flags=re.DOTALL)\n", + " return cleaned.strip()\n", + "\n", + "\n", + "\n", + "sample = train_ds[0]\n", + "prompt_text = sample.get('prompt', sample.get('text', ''))\n", + "print(\"Full text:\")\n", + "print(prompt_text[:400])\n", + "print(f\"\\nExtracted price : ${extract_price(prompt_text):.2f}\")\n", + "print(f\"Description (first 200 chars):\\n{extract_description(prompt_text)[:200]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Written 60 rows → jsonl/fine_tune_train.jsonl\n", + "Written 50 rows → jsonl/fine_tune_validation.jsonl\n", + "\n", + "First JSONL line:\n", + "{\"messages\": [{\"role\": \"user\", \"content\": \"Estimate the price of this product. Respond with the price only, no explanation.\\n\\nWhat does this cost to the nearest dollar?\\n\\nTitle: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \\nCategor\n" + ] + } + ], + "source": [ + "def row_to_messages(row: dict) -> list[dict]:\n", + " \"\"\"\n", + " Convert a dataset row into an (user, assistant) message pair.\n", + " Works whether the row has 'prompt'/'text'/'input' keys.\n", + " \"\"\"\n", + " text = row.get('prompt', row.get('text', row.get('input', '')))\n", + " price = extract_price(text)\n", + " desc = extract_description(text)\n", + " return [\n", + " {\"role\": \"user\", \"content\": f\"Estimate the price of this product. Respond with the price only, no explanation.\\n\\n{desc}\"},\n", + " {\"role\": \"assistant\", \"content\": f\"${price:.2f}\"},\n", + " ]\n", + "\n", + "\n", + "def make_jsonl(rows) -> str:\n", + " lines = []\n", + " for row in rows:\n", + " obj = {\"messages\": row_to_messages(row)}\n", + " lines.append(json.dumps(obj))\n", + " return \"\\n\".join(lines)\n", + "\n", + "\n", + "def write_jsonl(rows, filename: str):\n", + " Path(filename).parent.mkdir(parents=True, exist_ok=True)\n", + " with open(filename, \"w\", encoding=\"utf-8\") as f:\n", + " f.write(make_jsonl(rows))\n", + " print(f\"Written {len(rows)} rows → {filename}\")\n", + "\n", + "\n", + "\n", + "fine_tune_train = list(train_ds.select(range(min(N_FEW_SHOT, len(train_ds)))))\n", + "fine_tune_val = list(val_ds.select(range(min(50, len(val_ds)))))\n", + "\n", + "write_jsonl(fine_tune_train, \"jsonl/fine_tune_train.jsonl\")\n", + "write_jsonl(fine_tune_val, \"jsonl/fine_tune_validation.jsonl\")\n", + "\n", + "\n", + "print(\"\\nFirst JSONL line:\")\n", + "print(make_jsonl(fine_tune_train[:1])[:250])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Building few-shot system prompt...\n", + "System prompt : 24,783 characters\n", + "Training rows : 60\n", + "\n", + "First 400 chars:\n", + "You are an expert retail product pricer with deep knowledge of e-commerce pricing.\n", + "When given a product description, respond with ONLY the price in the format $X.XX — no explanation, no other text.\n", + "\n", + "Here are examples of correct pricing:\n", + "\n", + "Product: What does this cost to the nearest dollar?\n", + "\n", + "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", + "Category: Home Hardware \n", + "Brand: Schlage...\n", + "\n", + "Memory footprint (prompt): 0.03 MB\n", + "Memory footprint (Qwen 2.5 3B @ 4-bit): ~2,100 MB\n" + ] + } + ], + "source": [ + "\n", + "\n", + "def build_system_prompt(train_rows: list[dict]) -> str:\n", + " \"\"\"\n", + " Build the few-shot system prompt from training examples.\n", + " This is the Anthropic equivalent of loading a fine-tuned model.\n", + " \"\"\"\n", + " header = (\n", + " \"You are an expert retail product pricer with deep knowledge of e-commerce pricing.\\n\"\n", + " \"When given a product description, respond with ONLY the price in the format $X.XX — \"\n", + " \"no explanation, no other text.\\n\\n\"\n", + " \"Here are examples of correct pricing:\\n\\n\"\n", + " )\n", + " shots = []\n", + " for row in train_rows:\n", + " text = row.get('prompt', row.get('text', row.get('input', '')))\n", + " price = extract_price(text)\n", + " desc = extract_description(text)\n", + " shots.append(f\"Product: {desc[:400]}\\nPrice: ${price:.2f}\")\n", + " return header + \"\\n\\n\".join(shots)\n", + "\n", + "\n", + "print(\"Building few-shot system prompt...\")\n", + "SYSTEM_PROMPT = build_system_prompt(fine_tune_train)\n", + "\n", + "print(f\"System prompt : {len(SYSTEM_PROMPT):,} characters\")\n", + "print(f\"Training rows : {len(fine_tune_train)}\")\n", + "print(f\"\\nFirst 400 chars:\\n{SYSTEM_PROMPT[:400]}...\")\n", + "\n", + "\n", + "prompt_mb = len(SYSTEM_PROMPT.encode()) / 1e6\n", + "print(f\"\\nMemory footprint (prompt): {prompt_mb:.2f} MB\")\n", + "print(\"Memory footprint (Qwen 2.5 3B @ 4-bit): ~2,100 MB\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LoRA config (reference):\n", + " lora_alpha : 64\n", + " lora_dropout : 0.1\n", + " r : 32\n", + " bias : none\n", + " task_type : CAUSAL_LM\n", + " target_modules : ['q_proj', 'v_proj', 'k_proj', 'o_proj']\n" + ] + } + ], + "source": [ + "\n", + "\n", + "lora_config_reference = {\n", + " \"lora_alpha\": LORA_ALPHA,\n", + " \"lora_dropout\": LORA_DROPOUT,\n", + " \"r\": LORA_R,\n", + " \"bias\": \"none\",\n", + " \"task_type\": \"CAUSAL_LM\",\n", + " \"target_modules\": TARGET_MODULES,\n", + "}\n", + "print(\"LoRA config (reference):\")\n", + "for k, v in lora_config_reference.items():\n", + " print(f\" {k:20s}: {v}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SFTConfig (reference):\n", + " output_dir : price-2026-03-08_22.38.35-claude\n", + " num_train_epochs : 1\n", + " per_device_train_batch_size : 32\n", + " per_device_eval_batch_size : 1\n", + " gradient_accumulation_steps : 1\n", + " optim : paged_adamw_32bit\n", + " save_steps : 100\n", + " logging_steps : 5\n", + " learning_rate : 0.0001\n", + " weight_decay : 0.001\n", + " max_grad_norm : 0.3\n", + " warmup_ratio : 0.01\n", + " lr_scheduler_type : cosine\n", + " max_length : 128\n" + ] + } + ], + "source": [ + "\n", + "\n", + "train_config_reference = {\n", + " \"output_dir\": PROJECT_RUN_NAME,\n", + " \"num_train_epochs\": EPOCHS,\n", + " \"per_device_train_batch_size\": BATCH_SIZE,\n", + " \"per_device_eval_batch_size\": 1,\n", + " \"gradient_accumulation_steps\": GRADIENT_ACCUMULATION_STEPS,\n", + " \"optim\": OPTIMIZER,\n", + " \"save_steps\": SAVE_STEPS,\n", + " \"logging_steps\": LOG_STEPS,\n", + " \"learning_rate\": LEARNING_RATE,\n", + " \"weight_decay\": WEIGHT_DECAY,\n", + " \"max_grad_norm\": 0.3,\n", + " \"warmup_ratio\": WARMUP_RATIO,\n", + " \"lr_scheduler_type\": LR_SCHEDULER_TYPE,\n", + " \"max_length\": MAX_SEQUENCE_LENGTH,\n", + "}\n", + "print(\"SFTConfig (reference):\")\n", + "for k, v in train_config_reference.items():\n", + " print(f\" {k:35s}: {v}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA9E1JREFUeJzs3QV4k+fXBvA7njRpS3F3d/chA4aNMWCwMXd3+e+bj7m7C/ONbWxsjDHchg53dy9WjSfvd50npKQuFGr377oCafImrzzRk3POo9M0TQMREREREREREdF5pD+fKyMiIiIiIiIiIhIMShERERERERER0XnHoBQREREREREREZ13DEoREREREREREdF5x6AUERERERERERGddwxKERERERERERHRecegFBERERERERERnXcMShERERERERER0XnHoBQREREREREREZ13DEoRERUynU6HZ599lseV6Dy7/vrrUbdu3SI57vKcl+c+AX369FGnkjaGJUlKSgoqV66MH374AWWFPKZatmyJkqw0vU6cOHECdrsdU6dOLepNIaISjkEpIqJSYP/+/Rg3bhw6d+6MuLg4VKxYUX2AnzVrVpbLJyQk4NZbb0WlSpXUh8q+ffti1apVmT5wvv766+jVq5darly5cujatSt+/vnnbLdD7uOSSy5B+fLlERUVpb5AvPfee3nej8mTJ6N9+/awWq2oXbs2nnnmGfj9/nTLLFiwQK2jVq1aarmqVati0KBBWLRoUZ7Xk9d1iZUrV+Liiy9W63E4HGjdurXap0AgkK/1/f7777j88stRv359dWyaNGmChx56SI3F2R73SC6XCzfddJM69rGxsWqb27Rpg3fffRc+n69Q9+/zzz9H7969UaVKFVgsFtSrVw833HAD9uzZk2lZ+SKW1emVV17J037R2ZExyW4MMp6yGr+yoCQFPeT5HB0djSuuuCLtssOHD+P//u//1Ou5XCdjOW/evCLdTio+JNgrr/W5BYUjXwvkdb1x48Z4+umn4Xa70y1boUIF3HzzzXjqqafO8ZYTUWlnLOoNICIqbSQoYDSe35fXP//8E6+++iouvfRSXHfddSq48u2332LAgAEYP368ChSEBYNBDB06FGvXrsUjjzyiAlgfffSR+kImAYpGjRqp5ZYsWYInnngCQ4YMwZNPPqn26bffflNfgjZt2qSCYJFmzJiBYcOGoV27dupDqgQ4du7ciQMHDuRpH/755x+1/bId77//PtavX48XXngB8fHx+Pjjj9OW27ZtG/R6PW6//XYVSDl16hS+//57FcT5+++/VYCqsNYlx6N79+7qmDz66KMqmCS3ve+++9S+yRfDvJIgYPXq1XH11VerIJis84MPPlC/Mkswz2azFei4Z/X427hxo7q9fAmRY7V48WI88MADWLZsGX788cdC27/Vq1erQJQECSUYunv3bhWomjJlinp8yf5Gksfjtddem+4yebzQuScBzu+++y7dZW+++aZ6fr799tuZlj0b8lpQUPL4kdcoyp4El+W5Kc9pg8GQdvnWrVvV+4A8n1u1aqVeS6h4kdd0CRwWZxKI+uKLL9T5xMRE9fni+eefV+8JGTPz5H1YfsSYM2cOLrzwwiLaYiIq8TQiIjprgUBAc7lcRXYkN2zYoB07dizdZW63W2vatKlWs2bNdJf//PPPmrz8//rrr2mXxcfHa+XKldPGjh2bdtmuXbu0PXv2pLttMBjULrzwQs1isWgpKSlplycmJmpVqlTRRowYoY5FQTRv3lxr06aN5vP50i574oknNJ1Op23evDnH26ampqr1Dxw4sFDXdcstt2hms1k7ceJEutv36tVLi4mJycfeadrcuXMzXfbNN9+osfj8888LdNzz4+6771brOnz48DnZv7AVK1ao9bz88svpLpfL7rrrLu1cuu6667Q6depoReGZZ55R+1iSDB06NNfjJY89p9OplQW9e/fWWrRooRV3v//+u3qs7dixI93lSUlJac9leX2XZbJ63SmpSsr4FFfyXJfnfG6voXa7PdNrQNeuXdX745EjRzLdpmXLlto111xT6NtLRGUHy/eIiDL0etiyZQvGjBmDmJgYlZ4uWSMZ09Zlubvvvlv9atiiRQv1y+K0adOy7Sl18OBBVVIlmSPhMqc77rgDXq83bRkp47r//vtVWZos07BhQ/Wrd16yBmQbJOMpktyHZMtIJkRycnLa5RMnTlTlViNHjkyXGSH7LL+IejwedZlsY506dTLtt2QYyTK7du1Ku1yyb44ePYoXX3xRZeakpqbmK9tBMoDkJNlEkVlmd955p3zLV9ucE8nwkX3IWAp3tutKSkpS5X1SQhepWrVqaZlNeZVVj50RI0ao/zdv3px2WX6Oe36E+/REHqPC3L+c1pMxkyvj8ymvJItLygWlNEmen506dUqX+ZWVN954Q2WDyXNZ9qlDhw6ZHk/h0ravv/460+2zej4vXLhQrVuOXYMGDfDpp59mu37J4pN1yrqlrFUy3qTctriX+EyfPh0dO3ZU2x3ev6+++kplQ0gvI3l9ad68ebrMwux6SkkJmRzHX375Rb1G1KxZUx27fv36YceOHTn2lAqPjYzjZ599po63rFuO//LlyzOt+9dff1XbJfcvpXiTJk0q9D5Vklkaft2X1/S77ror0+N9+/btGDVqlMrmlG2RfZaxl8yTsJkzZ6Jnz57q+SeZpVLS+/jjj+e6/j/++EPtjxyLSPK8kMfY2ZBsSsk2ldJfeV2V51vG0uj8vFdK1q5k2YTHTbZb9jH8PlOQ57e8fkuJomxfjRo18Nprr53VPof3Q95D5PEu4yDZqhmzQgcPHqy2S8ZKHrtLly7NlMEmmaySqSZjLsdExlfGOeOxy+rzhIyrPGblOMnjK/yZIuNniRtvvDGtZFqWk2zoc0m2T/ZD3h+zev+RDNi//vpLXU9EVBAs3yMiykA+nMoH55dffll96JTUdCkRk3K4SJKuLl+y5MOkBISy+9Jz6NAh1esp3MepadOm6oOlfDF2Op0wm83qf/kwLpffdtttqrxLSq4ee+wx1SfknXfeKdA4HTlyRH1wl1Pkh2vppSTBo0iyjfKlT8rjpPQjp/sUkUEw6V0lH9Zl+yV4IvchvaquueYaVRokH9BzItsk5EtwJPnCJ1/mwtdHkoCKBPWOHz+uxmbDhg15+kKXn3XJF2vp5SRj8uCDD6aVt0l/KOn7dLayOpaFsayQYyPHSIJAK1asUF/qJdglwc7C3j/pgyU9qPbt24fnnntOXSZf2jKSoI98oZcvL82aNVOlLFdeeWWe1iG3lS9j8iVMnhfyRV7GSr645XQfUuYk5YVXXXWVOiYTJkzA6NGjVYmhlLHml5RdXnTRReoLrHzBlC/d0o9MviRmJAEYKWWV1xTpvXLs2DFVLiqlprLtGYOBxYWUgY0dO1Y9Lm655Rb1JV1IAEqOvxxPCejKF1EJ5koAWgIzuZH+YfK68/DDD6vgjAQTZFwkEJIbCU5IcF22Sb4ky20lsC5fkk0mk1pGynelb5u8fsnrt7xuy48BErgoLDLmEnjo37+/+mFBjpUcFwmQSfBGtkUeZwMHDlSBl3vuuUcFpuS1UR5z8j4gAR8psZXgn/Rwk+eMBBgkQJeX3njy3iCv4YVN3tMk8CJBVHlMy1iFA5H//vuveo/I73ulPO6/+eYbXHbZZaqHnoy1LC+BeAkY5vf5LfcvQTMZe1m/vI9K6bGMuWx7fq1btw4XXHCBGjd5f5b9kTI1eWzL81fIWMky8h73v//9Ty0rgVp5/Zw/fz66dOmS9tiQfZN9lmMlr7/y2ivl2RK4yYkEuuV1V55PEpSTYylBTXlNleCWkB9+pL9gOIglr0Hyei2PcVmX/Kh1roT7zEmZdkbyeJH3eTlOJaUnGxEVM0WdqkVEVFyEy28uueSSdJffeeed6vK1a9emXSZ/6/V6bePGjZnuR66T+wq79tpr1bLLly/PtKykxYvnn39epcxv27Yt3fX/93//pxkMBm3fvn353p/t27drVqs1U1q9rOfGG2/MtPzff/+ttn3atGnZ3qeUhlSuXFm74IIL0l3eunVrLSoqSp3uuece7bffflP/y/1dccUVuW7r66+/rpbNaj87deqkSgcyklI9uY2cpATttttuy1MJZX7W5ff7VdmbyWRKW5eMx8cff6wVhptuukndX8Zxz+txz8lPP/2Uts1y6tixo7Zu3bp0yxTW/klZYfj2FSpU0N57771My3Tv3l175513tD///FPdv5R8yPIfffRRrvefkJCgRUdHa126dMk0xuHnUHblexlLz7xer1q3lEOG7d69W23LV199levz+dJLL1XPq71796ZdtmnTJnXcIj9WSQmmXPbiiy+mu7/169drRqMx0+XFpXxP/s7udSCrMj55HtavXz9TmZWcwqSETO6zWbNmmsfjSbv83XffVZfLMcluDMNjI4+rkydPpl0ujyO5/K+//kq7rFWrVqpcOTk5Oe2yefPmqeXyUtaZW3mYlDnLa81FF12Urkz5gw8+UOsYP368+nv16tWZSqQzevvtt9UyGcuucyMlx1JG9dBDD+W4XH7L9+R51KhRIzWekc8pGfN69eppAwYMyPd75Zo1a9TfN998c7rlHn74YXX5nDlz8vX8lvGR23377bdpl8njqWrVqtqoUaO0gpBSZVl35PM543rlOS/jvnPnzrTLDh06pG4ntw+TkvDcyuOyKvMNv4dFlmPKMZTL33///XTvF9WqVdOOHz+e7vbyHhsbG5trmW1+yvfkcSkn2aY33nhDPebkdTPyuIQtXrxYbau0BiAiKgiW7xERZZDxF3/5pVtknPZYMpukTCQnkkEgKfnSADxjZo4Ip/FLyYn8Eiu/QkrmT/gkv8ZLBorMOJcfknkl2SBSipBxdjPJnJFf5TMKZzPJ9dnti2Q1yC/9ku2RcXpyWac0sZZfeOVXbPlfshokM0VKWXISXmd225XVNsl+SUPlL7/8Uv16LNkJWc2edzbrkibCUnYiWQ/ya79kFclYymNCxvVsSOaHbLtkD4Sby+f3uOdEylukbEQeW9KMVn7dl7LKSIW1f/JrvTw/pHG2ZPllXI+QDBAp75EsG9keabIuv6pLdlt2j7kw2Q/JkpEGwRmz7nKbXj2yDFGyLCRDR55rGWebzAt5LkpZm2QDyn6GSdaXHMNIkvUgYyfZHJHPacmakfGeO3cuiispIc24PxmPpRxH2R95HZRspciytOzIhAuSGRom4yDyUpIqGVCRWRoZbysZqZLFJq9BUl4VJtuXU+ZnfkhGqLzOSEZKZKapZJNJFo1kagnJhBLyWJHXxayEs+SkZDo/pc4nT55UmYZZZaycjTVr1qjXaclKkszH8ONVnsuS9SjvQRm3M7f3yvD/koUZSV7zRPh45ef5LWMrk0WEyeNJspIKUtYsmYuyX5KhFfl8jlyvPOflfUae8zJzamSJsxwryXCSLKXwmEq2UG7vd1mR9/rIckzJoJPHVHi/ZMxlwgt5fZbzka8p8lyV519BXtOyImMuWVhyksxayWzs0aOHeqxm9XobfizKthARFQTL94iIMsgYIJAPivIFJOM06fLFLS8feuUDa24p7fIhVsoIspv1SmaFC9+ffEiO/IAe+QVMyPXhmdokWJBxBjT5YplVP49wL5DsegnJFw4ppZDSjDZt2mS6TyElP5HkQ7uUOcgsUHJc5QtVZB8tuZ18gQvfPrvtymqb2rZtm3ZevqRIOYv0jgn3CyqMdUngS8q/ZHzCx1mCDBLwkS9kUn5TkJkWpRRGSi7ky0S4RCQ7OR33nEg5WbikTEpnXnrpJVVCIvsigZHC3D9ZXkj5zPDhw9XjXe5PSkyyI18m5fpwgEp6lkhwU06RQTN5Tkg5jShIaYiUTMnMivKlO3LMcwtmZUWefxJAyyqIKCVukYFrOaby5TG7gGO45Cwr8riVx29ByHE9275C2b22SWBRyrrk+Zwx2CJfisPBmOxk/OIf/jIrwcLc5HbbvXv3qv8jy1PD5LLC+MIeXke4nDHymEvAIny9HD8JxLz11luq76AE0CQYK69T4WMkQTaZ4UxKvSQYI4EfCebLczVjaXVWCrt/TziQIrO3ZkfGODIYltt7pRwP+TvjmMjrjwRwwscrP89vKbHO+NyVbZL3z/wKB3xyWq885+WxnnHMw8FoCdRJjzgpO5QyTHn9a9y4sbpPKTOUEnYJMOX38R3er/DjW7ZDfpiQEns55fQ54WxJYFDKF4X0pJRSWbnv7D4bhB+LBXlNJSISDEoREeUiuw9aBW0EnRX5YCsBA+lXkRX5kCuk8Wv4g7yQL4gZmzDLr/byRVy+DGU1RbP8wit9qjIKX5YxiCWkh4r0ApIghnzIzkhuI78QZ+yrIw2RRfiDtXzpkh4cYfIFSHqJyDaFt0EavWfcroy9TDKSL4XypU+2T4IGMjaFsS7ZZzmGGQN/si750ilfvrL6EpyTtWvXqtvLlxYJoOUU9MntuOeHfNmV5r3ya7dksJ2r/ZMvpu3atVOPv5yCUiJ8/MMBGOl7JfscJj2wMgaD8xv8k32RHk6yrzL2EgySPjmRDZSze45HBoAL8pyW+5XAsATXMsp4zDP2DAoH+vJLMoOksfjZyOq1TQIHEjiRnngSbJGxk+edBOKkn0xesn2yOg55DbCczW2LgmQNSpBcnm+SaXPvvfem9V6SwIocY8nSkYw5yRiSwLNkKsrzUZbPbn8l4CiPq7wE8vIjPH7SSy4y4J/Xx2xOz6PCDFYU58eBvM7I8yQ85hJ0lOfGJ598ooKPZ7Nf4fGRwGZ2gcO8BL/yQrZFMrfC5McTed7L+8bkyZMzLR9+LOa13yERUUYMShERZfGLcWSmgDSflQ+EBZm9SbI8JAVfmnDn9kVeMkQiPwhmRb7oR5Y6RZYTiEceeUR94ZbG6BmzlsLkC4d8WZd9ivxFXhrQSqPrcAAs7MMPP1SBLylZkYayWZFGp1KCIc18I39RlpKa8HEIf1GL/DIVDoCFvwRJU9jIoJDcXn6plQa0uZHjIh/gpQxEvvAVxrqksWxWgQmZZUnkpVwwknxhkV/PJVgnX+Zz+pKXl+OeH+HHTWSZVWHvX+S6sspEyy5TIfz4kNIryZjKGBwJl7XI8yg/QTIpd5Ff/aWMKrJcU54jkcLZHxlnUIsMAIe3U7Ypq/IcaXgdSbZZHo/yWpLxOZUbyYiLnLErPwq7rCtMMidkTOVLaWRWR3EpQwzPWJlxNr/sLjubdchYR772Smbb7t27M71+S9mgnKShvwQapQRKAhSSuSfk9VcCfXKSQJ9kM0rgWI5pdu8FEsSWx5asrzCFn2PyfpXb+1Be3yvleMnfspxkFUW+7shzLXw8C/r8PlvhMczp/Vme8/K+mPH5HZ61T8Yw8scNCRpKmaqc5D1dAlXyOp5bUCo3sh3SAF1er/M6PoVFgvkPPPCA+sFAgqpSLh8p/FiMHGMionwpUCcqIqJSKLfmrdK0NUz+vuuuu7K8n4I0On/22WezbS586tQp1dw2N6+99pq6j8cffzzH5SZMmJCpCa80NC1Xrpx2+eWXZ1pWtv2qq67KssFp2KpVq9R9XnnllekuHzt2rGrqfPDgwVy3v2nTpqpRrDTfDnvyySdVg1VpJB129OjRLI9RrVq11Ckv8rouaexavnz5dI1l5TYdOnRQTW6laXZeHT58WDWErl69umrenJO8HvfU1FRt8+bN6Zoly/msbiMNzWWMZs+eXaD9k4a3kY145TEZ2Xg6bNmyZarBd2SDfWkQnVFSUpLWoEEDrWLFiumaX2clMTFRbU/nzp3z1ej8wQcfVM335TiFybGXyzJ+BJLtGDFiRLrLpJl0QRudy7GSy+Q5kXE85O+MzYqLU6PzrJohS/N62T9p4B4mDaql8bJcHvmYzq7RecbG31k1mM+u0blMUJBRxrGRx/P5aHQ+aNCgdGMqzfojG53L4zXja7Y83uU5LU2+w5MXZDfZxJQpU3LcTnlu5fZal99G59K4XZ6P0uw88vhl9RzO63tluNH5rbfemm65//3vf+kanef1+Z3d+GQ1wUFhNzqXyRwiH+NHjhzRYmJi0jU6z+o5PXr0aPXakluj86w+T8g+yb6FXX/99erxFzkxQE6vsWfT6Dwj2Td53Rw+fHim6x544AHVaD2n9yoiopwwU4qIKAP51U9KfiSjRXqnfP/996o3Un76+USSX78llV/KaiQLR35NlDIxaUAtTVKlt4ZkOEkGgvTwkZIPyTySZqPSuFdKvKSEKafUeJlaW0r/pMeH3L9scyQpDYzsLyS/dMovudJ3Su5XSpvkF9jI0qn//vtPZa7IdNTyS75kaUXq3r172i/NUq4lzWLHjx+vsmvCJUSyjzK9d1YlgRlJ2Ygc94suukj1xJJfrz/44AP1C3PkL7DSt0jKX2Qabsk4kimzJfNFMp2k/CUv8rou6fUi5RKyLhk7yZL56aefVA8kyXbIqS9QRvJ4kswgGScZdzmFydiEpwzPz3GXZaXMK7KMU8ZesjHCjXklc0wyhSTzRprkRpZ05mf/ZFtEuJxOsgAkQ0B640g/Fbvdrh6vMhbSN+epp55Kl/UVbvgvWTby+JfHiozdd999l675dVYke0PKYGR8pIRVno+SESSlkNLvRZq0Z2Xo0KEqA0WOvdxG+qLItkg2RsYeNHLfUiYp/8ukBFJatW3btkz3Kc8RKbWSPkEyfbs83qUBvRyDyPuU7A85hvL4l2Mm4yGZDvL6Is9XOd7SQLikkOeKjJOMoZTxyPh//vnn6jmYVTlwUZDXWunpIxlJ8vommZLyvJZS2cheZTmR3j3hTKZIkhEkEw7IeMpjQB5T8hoiGTTy+imPy3AD7jlz5qjSVZlsQrLk5DEij3Mpixo1apRaRvoPyWNMHqOSMSSPTbkfeW2LzBbMiuyj3J88PjNm4YW3XcqphSwXfq2RjK3sSMaPlJvJ66s8luX41ahRQ2W/SuaWPAfDfYby+l4p/0upmfRAkswoeV+Q1yx5vsrzIVyiWtDnd0769OmjyrdzK+uTCTnkeEtPQnlOyjjL81VKKqUPXfiYyuunLCfPeclWk16Jkjko/ZbCZOITWa+8f0vGlGTjyvt3bmXMeSWvTzIW8notZfqyPil9ln5p0oQ/L33oJJstq8e3vIfLYzE78n4kjwl5jG7evDnd+2T4vYU9pYiowHIMWRERlSHhXzAl6+Gyyy5Tv57GxcWpDJOMv97mJ1NKyK+wkjFVqVIl9YurZMzI7SMzROTX6ccee0xr2LCh+jVUfl3t3r27mo45t4yc8LZnd8r4a7lkuMj00jLNuvz6Kb9AZ8zkkuyFnO4zMrtByDZKxpf8GmsymdR+yLTn+TFp0iStbdu26hhJxoNkL2Xcd5l+vWfPnur4SBaWHNNhw4ZpCxYsKPR1Cclek+Mj65NxkWnnP/nkEy2/cjqWkVkl+Tnu4QyUyMebjKP8Ol+7dm21b/Krd/v27bW33nory4y7vO6fjGtkNoI8du+77z6tdevWKmNAxlyul8dVxkywGTNmqCnlZep2WU6y8i666KJ0WVt5MXnyZPWcsNlsap2SWfHTTz/lmDHx5ZdfquwPORaSISfHL6tsBZlOXbZdfvGX5/6YMWNU9kFWz+f58+erbDI5XvJcluOV1X2K3377TT1eZRzkJNsgz/2tW7dqJSlTKnz8ZbwlU6xu3braq6++qrKDikumVDjLUI6xjLdkTsk2jxo1Sl2WG9nm7J53/fr1S/caJPcnj+UqVapod9xxh8rWDNu1a5d24403qswjOVaSjdi3b19t1qxZacvIY1+yTiRzUh5H8r9klm7bti3X7ZTnnjxfn3/++SyPSXanvFi9erU2cuRI9d4gx1DGQp4Lkc/V/LxXymvOuHHjtHr16qnjJRle8j7ndrvz/fzOT6aUPD/l9SYvNmzYoLIk5XVJxqtJkybaU089lSkbeODAgZrD4VDvmTKeixcvTrfMCy+8oLZZ7kf2QR4jL774Yrr3lbPJlApnCsuychzleMo+ymPzs88+y3U/5f6ye2zIa19OmVJi586dKvszcpskU1duH/nYJiLKL538U/CQFhFR6SGZJvILuPxSzoadRESlg/SRk548Be3TVRw9//zzKitR+jVl1yS7rL5XSnaoZCpJb0WZRZTOHel5KBl/kl3LTCkiKqjc55wlIiIiIirmpEF/xub8UkYsZWBSVlWaSONpKUmcMGFCUW9KsSNBEik9lBI3OndOnDihSj6lHJABKSI6G+wpRUREdBakj4fMvpUdyWIIzy5HROeO9D+Smcmkt5P0sZPZ0aS/WtWqVXH77beXqkMvM3dKHyrKTHoj5dQfiQqH9JnKa682IqKcMChFRER0FkaOHKka6mZHmhiHm4MT0bkjzbGlybRkb0hpmTTfl+CENIiWL9BERERU/LCnFBER0VmQXhoyy1d2ZEY7mQ2MiIiIiIiKaVBKfsWSaXbvu+8+1ZgwK19//bWajjSSxWKB2+0+T1tJRERERERERESlpnxv+fLl+PTTT9G6detcl42JicHWrVvT/mZjPSIiIiIiIiKikqfIg1LSIO+qq67C559/rmZvyI0EoaRhZUEFg0EcOnQI0dHRDGgRERERERERERUyKcpLTk5Wk4/o9friG5S66667VBNKmS0lL0EpCWJJ01gJLrVv3x4vvfQSWrRoke3yHo9HnSJnZmnevHmhbT8REREREREREWW2f/9+1KxZE8UyKDVhwgSsWrVKle/lRZMmTTB+/HhV5peYmIg33ngD3bt3x8aNG7PdyZdffhnjxo3LdLmsV6bTLSkkCJeUlKTKF3OKMlLpxPEv2zj+ZRfHvmzj+JdtHP+yjeNfdnHsy7ZgKfreLwlFkkgkVWrFstG5RMs6duyImTNnpvWS6tOnD9q2bZtto/OMfD4fmjVrhrFjx+L555/PU6aUDHCtWrXUTEky0CXpwSnTG1eqVKnEPzgp/zj+ZRvHv+zi2JdtHP+yjeNftnH8yy6OfdkWLEXf+yX2EhcXpxKKcoq9GItyCu34+HgVOQsLBAJYsGABPvjgAxVIMhgMOd6HyWRCu3btsGPHjmyXkdn55JSRDHBJG2Tpp1USt5sKB8e/bOP4l10c+7KN41+2cfzLNo5/2cWxL9t0peR7f163v8iCUv369cP69evTXXbDDTegadOmePTRR3MNSIWDWHIfQ4YMOYdbSkREREREREREha3IglJSV9iyZct0l9ntdlSoUCHt8muvvRY1atRQfaHEc889h65du6Jhw4ZISEjA66+/jr179+Lmm28ukn0gIiIiIiIiIqKCKfLZ93Kyb9++dClf0gfqlltuwZEjR1RtYocOHbB48WLOpkdERERERESUB1JxJP2ZqXj2lPL5fHC73cW+fE/aKeWlwq1EBaXmzZuX499vv/22OhERERERERFR3skcZ5LgIVVHVHzHKBgMIjk5WfWWKu7KlSuHqlWrntW2FqugFBEREREREREVvnBAqnLlyoiKiioRQY+yGJTy+/0wGo3FenxkO51Op5q8TlSrVq3A98WgFBEREREREVEpL9kLB6SkjzMVT1oJCUoJm82m/pfAlDyuClrKV7yLFImIiIiIiIjorIR7SEmGFFFhCT+ezqZHGYNSRERERERERGVAcc++obL3eGJQioiIiIiIiIiIzjsGpShHweNJ0IJawZufjZ8F58f/QPNwylEiIiIiIiIqenXr1sU777xT5PdBDEpRDgKHTyLlhV/g+moWtEBQXebfeQTJz/4E92+LETyVkuPxC2zeD9+izfCt2AHnZ9PT7oOIiIiIiIgoL+VhOZ2effbZAh3E5cuX49Zbb+UAFAOcfY+yFDyWiNQ3/4CW7ELw4EnA6wdsZvjX7kZw/3F49h9XwSbHC1dDZ8g64c4ze13aef+a3fDOWgPLwPY84kRERERERJSrw4cPp53/+eef8fTTT2Pr1q1plzkcjnSVOjLLoMxcl5tKlSrx6BcTLN8rZdx/LkPy/32DwMETBb4PyYBSAalTqdBXL4+oBy6BzmZW15kHtIXt5gHQOawIxifCt2xr1vdxLFEFsIRlZDcYOzSAuW9rnA15kfEu2wbnV7PP6n6IiIiIiIio+KtatWraKTY2VmVHhf/esmULoqOj8c8//6BDhw6wWCxYuHAhdu7cieHDh6NKlSoqaNWpUyfMmjUrx9I7ud8vvvgCI0aMUDPKNWrUCJMnT87Xtu7bt0+tV9YZExODMWPG4OjRo2nXr127Fn379lXbLNfLNq9YsUJdt3fvXgwbNgzly5dHuXLl0LJlS0ydOhVlATOlSpnAnngEjyUh5fmfEfPerdCZsx5i74KNcE9aAkOdyoi6YzB0FpO6PJjsQupbf6r70FeOhf3B4dBH29JuJ+fN3ZqqwJXntyXwTFkBU9cm0OnTxzc9c9YDGmBsURvWoR1VQOlsOvMH9h+D64cFCGw/pO4zUuq7f0Ff3gFzrxZqf4iIiIiIiChn8h3N5y6ao2SyFt5MgP/3f/+HN954A/Xr10dcXBz279+PIUOG4MUXX1SBqm+//VYFfCTDqnbt9N8lI40bNw6vvfYaXn/9dbz//vu46qqrVLBIAkW5CQaDaQGp+fPnw+/346677sLll1+OefPmqWXk/tq1a4ePP/4YBoMBa9asgckU+h4uy3q9XnVb2eZt27alywIrzRiUKmVsN/RDyjM/QUtywj1xEWxX9s60jG/DXri+nSuvQiqjKRyQkp5Pqa9MRPBIAnRxdtgfuhT6uKyfCJa+reH9ZxWCRxPgW74D5i6N011vbFQNgR2HYe4Xyo4Kv+DIC5/nz2UwNKwOU8vsXxDCgilueP5YCu+8DWp7YTbC2L7+mesTnfCv26POyzKmLo1hHdEV+kqx+TpuREREREREZYkEpJ7vf6pI1v3UrDiYz+Q+nJXnnnsOAwYMSPtbgkht2rRJ+/v555/HpEmTVObT3Xffne39XH/99Rg7dqw6/9JLL+G9997Df//9h0GDBuW6DbNnz8b69euxe/du1KpVS10mwbAWLVqo/lWSrSWZVI888giaNm2qrpdsrDC5btSoUWjVqpUKaDVu3LjQgnbFHcv3Shl9TBRsN/ZX572z18F3uoQuLHDoJJyfTFMBHgng2K7pe+bKoIbgqVToom2hgFTFmGzXI+V8UsonPFOWZ5qhz9S+ARxPjIaxdd10l/sWbITnr+Vwvj8Fzq9nI3Ag6zJDCTZJKWLK49/BO1eyrjSYOjVE9ItXw9Kn1ZntsJoQddcQmDqHntC+ZduQ/OT3cP38L4IprrwfOCIiIiIiIipxOnbsmO7vlJQUPPzww2jWrJkqhZOMo82bN6vAT05atz7TbsZut6sSu/j4+Dxtg9y/BKPCASnRvHlztX65Tjz44IO4+eab0b9/f7zyyiuqzDDs3nvvxQsvvICePXuqjK116870Zy7tmClVykj5nbFhNZj7tYF39lq4vpoNw7ix0Mfa1XXO9/4CXF4YGlVXwSud0ZB2W83lgbl3C5gvaAFDtdxTFC3928C3aicsfVuFspiQOZKbMbpr6t4MvjW7VXaT799N6mRsXksFuIwt60CnP51R5fLAM/k/dV5fowJsV/aCsWnNzPdvMakAmJwCA9vD9esiBLYcgHfGGnj/3QTHIyNhqFP8mthJ+WPwyCloLi9g0Iey1Swm9b8E/HTl7GUmMk5EREREREVTQicZS0W17sIiAaRIEpCaOXOmKulr2LAhbDYbLrvsMlUel+M2nS6lC5PvY1KWV1hkpsArr7wSf//9t+qD9cwzz2DChAmqj5UEqwYOHIgpU6Zg+vTpqozwzTffxD333IPSjkGpUib5ofFAIAjHy9fCv/UAggdOwDV+FqLuvhjOj6aqXlG6ijEquygyIJWWZXX5BTnev5Tf7Vvnx+Z/fajX3ojGz1yRLnji33FYle2ZejaH3pH5lUZnMiDq3ovVMp6Za+BftQv+TfvVydiyNuwPDFfLGarGqdI/Q70qMHVunG6GP69bg9maOWBjqFsZ9ocvhX/DPlW6KDMG6mvkHlw716Qs0rdwkzom4f3w/bcN7l8WZXsb2fesSi9z49+8X149swzgERERERERhcn3uMIqoStOFi1apErxJNgTzpzasyfU8uVckaws6WUlp3C21KZNm5CQkKAypsKkLE9ODzzwgCoV/Oqrr9K2U253++23qwDVU089hc8//5xBKSpZNH9ABaSELsqCqFsHqobnmi+AYHwCtIRUwGaG/b5hSEwx49AKrwosRcXmXsV56lAAq6d5seYfD04dCq1j6UTg1s9iUL3xmdimZ9oq+FfvQvBEMmxX9c72xc/YqLo6BY8nwTN7nWq87t9yUGUOhWf6yxiUkYDYtPedWPyzB016mDDgdhuq1Ddmum9TqzowtqgF7WRKWuBNjo2ULUommMrIKmAWkgSYgodPIrD3GAJ749X/CAZhlRkGm51J1QwLJqbC+el0BLYeVPtqHdU9tJ1xDjWzodpXfxCa1wfN44OW6FSZYaZuoTrj/PLvPKLKI6NfvQ76cvbc9yeoIbDriMquIyIiIiIiKumkV9Pvv/+umpvL9z4J8BRmxlNWpCRP+kFJM3OZ1U/6Qt15553o3bu3Ki90uVyqn5RkbNWrVw8HDhxQvaZGjRqlbn///fdj8ODBatuPHz+umqNLoKssYKZUaeILpJ3VWYwquOH4v8ugr11RzY5nf3w09s87jinvmrB1UaKquLM6dOh5pRXdxlhhtqUP1Pg8GjbO82LlZA/2rPGnXS7R9JhKehzfF8TPT6Xgjs8c0K/bCt/KnSpLSS0jJX0AEo4E4ErWUKW+AXpD5kBQcsCOFcntsfZAE2ipbvSdo6H90My7JgGpmZ+4VEBKbF3kw7YlPrQbYsaFN0UhtvLpDCSPht2rfOr6PWs0xFVPRqOuJjTWb4V+9S4VMJPSRikHzPFQrtqpjp+hSrnQ3yt2qNkKJdgWeZzTnA6kRfJvPQjnp9NUoElK8/Q1K545hp0bq1Nh82/cB/gD8C3fDsvpnl+Zltl1RAXITG3qwfPPShXEsgzrBMslXdLKJ4mIiIiIiEqit956CzfeeCO6d++OihUr4tFHH0VSUtI5XacEv/7880+V2dSrVy/o9XrVIF1m8RMy296JEydw7bXX4ujRo2q7Ro4cqfpHiUAgoGbgk2CV9LKS27799tsoC3SafNsvQ+TBGBsbi8TERDXYJYVEdqXJWuXKldUDPMtlElOR/OB4yIDuv+IW6E166A2AwQicPBDEskluHN97JkIcXVGH5OOh4XdU0KHvDTZ0GGbBiQNBrPjTjTX/eFVASUhiUf0ORrQdbEHz3mb4fRo+uj4JiUeD6HBhAH2P/ZoWrJEeUdIoffO/Xvz6TAp8HsBi16F2KyPqtDGiblsjPKkalv/hwdbFPmgZgta9rrWi3y026CMCJHO/cmHOF6HG5XLd4W1+bJrvC63PDLXdSceC2LncB28W/c2teg/61NuIlqbN0HQ6xLx+fbYzC0rAJvn/vkXUnYNVryrhXboVrs9nnL4zEwy1K8FQpzIMEmgy6mHu2iTt9t5Fm9Wshp4pK1SvLcmIknJJKUk8F+MvvcKkLFJnNcMzey3cPy6AoV5lOJ68PMv7cn42XTWEN1/UVmXWSUN8dRxb1YHt5otU2aXKutPp0pVNUvF+/lPpxLEv2zj+ZRvHv2zj+Jdd52rs3W63mhlOsnSs1kJs6ESFStM0lWVlNBpLRI/hnB5XeY29MFOqNPGGspn8QQN+edaZ5SKS5dRuiAWdR1pRsbYe62d5MftzlyrJ++sNJ2Z95oIr6UycMraKXgV82g8xI7bKmR5UklU1ZpwdX96VjJVzDGg7pBnidm0IXdevDf6b5MaUt5wq4CSBMQlCbV/qU6eMpISw03ALju4KYP43biz41q2CaCOftMNk0WHRhDMBqcH3RqH75aEH+/4Nfkz/yIm9a/1Y9lsog0rEVNKhSQ8zGnQy4cT+gFrnvvXAtJ3tUa72cdSMOgbvws2wDuuU9WGcv0EFkyQQFQ5KqdK8m4dj1w4LkrVouFMB9z4Nrk0aosvr0Ld5ELYYvQpGub6do0ryhKl7U9iu7hNqZJ4PkpHlmbYSOrsV1ku7ZruclGY6P/gbmtsL+z0Xw9SxEdwT/kVgdzwCRxPSMr3Slvf44Fu9K7RtnRrBWL+q6sXl+nYu/Ov3IuWJ7wC9DlqSC/ZHRrA3FREREREREZ0zDEqVItrpoJQvaETVRgYVOAr6NQQDgNGiQ+v+ZrQZZIHVfibi2uYiC1r0NWPlXx7M+8qFlJOaCiI17m5SgaKGnU1Zlt2J2q1M6HerDTM/dmHi3Ea4udkOGCpGY96SSljwfSgo1uFiCy5+KArxuwMqeLRnjU/9L/l5bQeZ0XG4FZXqhIJdUvBXoaYBf76aig1zvKr0r1lvs7r/cIZUOCAlarU04qYPo1UZ37oZXlSobUDTHiZUa2xIF1XudY0NruQgdq7wY8ObDVVQyjV3IyxDO2YqV5Mgj/S3EpHZT0kuCz4cFw23yhxzZzoWe9f5cf070bDIk6plHdXIXfpHmS5oXqAId+DAcXjnrFdlf6oML4vyQImiu76bq9Yl12s+PwwVY1SmmpRRSjaU4ZLO6W7jW7dHBS+l2b00kVf72b2ZyvhK/XAqtONJ6WYIVP8nuxDYfigtQFfYJFCW8vJEFQxzPHYZdCa+LBEREREREZUF/PZXCoNSfs2A4Y/aUbN53obXaNKhy0gr2g22YO9aH6o0MKqeUXkh/aj2rPZj+9Io/HRyOCqXN2PN96GpNi+8yYY+N1hVUKZ6E6M6Se8qCaZkF6iRLK5yVfX46fEUHNgUwIFNoYDUBVdb0fu6LGbz0+nQpLtZnXJii9ajZV8z1k1tAPexlbAmJqsZ/0wta6dbzrdyB7QUN3Rxdhjb1FOXBfwafh2XqgJSFWrpUae1UfXisjr0KvNswfduHNoawNf3J+O6d6JVxlJO+5gXxtZ1oa9ZQc2eKI3gzRd3zLSMd/pq+BZtVmV2UbcPhqFaaKZBU5cmp4NSW1WvqMjtkFn/hLlzo3SXSzli9LixCOw+Cl2UVe2/zmGD5vSkzegYLSWP5aNxLgSPJqhgmfffTbBc2PqcrIOIiIiIiIiKFzYnKUVkxr2trvrYnlwLpgKUCUtmVaOu5jwHpIT0fRr1pF31pzq0x4g1s4Iq02rE43b0vdGWZWAmt2BNvfYmNatf+Zqh7egyyqJm2iuMmtqmfaKwKTEUbPKt2J7peu+89ep/c6+Waf2U5n3twr51ftUX67q3ojHicQcG3xvavx5jbbjx/WjYy+lCgan7kuFMCua6rScPBjB3vAuf35GE7x5JxpQ3U7HwRxc2zPXi0NZQcNEyJBSI8s5aq8rzImcAdP26CO5fF6m/rVdckC64ZmpXHzAZEDySgOC+Y2du5/TAv25vaJksmqxLTyopUzTUqQR9TJTKIpPHlKF+KKMqXPZX2KS00Tq6hzrvmbpSZasRERERERFR6cdMqVJE+gdNj++mGn23tZy/pmj2OD1GP+tQARlpOn7Fiw406pJz5lJuKtY24M6vYnFsTwA1mqUvxzsbTS8w4dO3mmCPsyou6dMMURlK5gLbD6syMvMFzdVlUm4ofa7EJY9EIa76mb5aYVXqG3HD+9H46t5kHN4WUP/f8G40omLTB/dcSUFVlrhmulcFuXLSoq8JY8Y1gP6PWATjE+GTksK2NRBMcsL96XQEth1Sy5kHtYe5X/rMIp3NrEryIC3vI3pZqaCSPwB9tTiVhZVXUrYnx0VmV7T0a4PCouZY0KCCX+YLWsAzdQW0UynwLtwEy+nZG4mIiIiIiKj0YlCqFJEv+b7T7Y5M1vPbqb9eOxPu+T4WligdoisWTgKe3FdeSxDzKipGj7hWcdi5PBob//WjV90zQRvvvFCjdmO7BmpmPsl4krI9adbebogZrQdIx6isSWDqxvdj8NW9STiyPYDPbktSgTWZvVAax7tTgkg9FervJXT60GyGLS80q/5aCUeCSDgcVP8f3OzHxrk+LGnpRachHeD6eg68M9YALapCF2OEluxSMwBGXd9PNSvPiu3avpkuC+w/npYlldcgXzCowV1HMssWqkCY9JfSR9tQGHxLtqqm8tII3lCrosoMc/8wH56/V8Dcs7maUZCIiIiIiIhKLwalShGfMwAD/PDDcN6DUkKCMCVBiz5m7Fzux6Z5XlxwpUX1ZJJsHdV/qZxdzTgnAb4/Xk5FUnxQ9ZEa+oA91/utXM+AGyQwdU8STuwPqlNGVRoa0HZgKMCVXZmkzFwoMyHO+MiF2h80RGzcfyqDyLBqD3TDqiHqziEqm8tQNS5f+2274gJYJKvKnLeZAI/vC+C356W3VxD3dK0AS8IJ+NfsTssiOxtaqhvuXxeqWf6k+boEpeR+JSClsqUWbYKlD7OliIiIiIiISjMGpUoR77+bcX+TedieXBMmy6VFvTnFVrNeZhX0qR6/DokPbYfj1gFqxjp9rB3WizupZZb/4cbmBT4YjFCliZK1lReV6xpw+5ex2LzAq0oZrdF62KJ16iR9p2Kr5B6463SpBbtW+lS21C/jXLjttk4wJCbC1aKGut5QPdTQPDcSWAvsOorg8SSYu4R6SOkrxar/F01wYesiH1oPCAXIpJ9Y5O3++92D6R864fOELtuaUAutcQK+VTsLJSjlnrRUBaSklNAysJ26TGbdswzpAPePC1QfLXPvloVWtklERERERETFD4NSpUjA6Qv9DwMMRn6Zz46jvB512hgRezgVuuRUeBdsVEGpsBP7A/jnPac6Lw3WazTN39MktrIeXS8rQKf50yQQc+n/2XFoaxJOHQpi8tw6uPyFKODYmableRHYfgipr/6umpVLI3SdPbRNm//1Ytr7oVkNd6/yY/qHLlWeKDMwGi06THopRWWSiXrtjNiz1o+Vu2qidf018G85oGZ51JnTH5PA0QS4vpypMqCkT5SqSZQAWsNqiLppQNpymj+geneFG8pL6Z7OeCZQZ+7VQpUnmvu2ZkCKiIiIiIiolOPse6WI3xkKJAT0jDXmpnkfM9YlNFTnfcu3I/mZH1Uj8GBAw+8vpaoMofodjeh2ecGDS2fD6tDj8uccKlNLMraW/XZm9r28koCQLtauZt1LuvdzpL4/BacOePH7i6nq+kZdTYirroc7RcOSXzx454pEvDs2QQWkJMtr6P1RuP69aDToaMQJbwx2N+6D6FevyxSQUrMBfjETgZ1HQjP+HU1QzdnlpCWknlkuqCH5ka+R+sYfKnBl6tpElUpGkmwp66VdoY+NbEFPRERERERUcH369MH999+f9nfdunXxzjvv5Jos8Mcff5z1YS+s+8nJs88+i7Zt26IkYvSiFAm6Q5lSQQalctW8txlT3ymPI67yqGo7ieCBE/Ct2Y0V26urmfHMNqhsJb2+6DLOajQzYuDdUZj6jhMzPnShl1eP49W90EmX9NDcevB7NXhSI05OTfW26jDMAoNRD1PnRvDOXKOWDya5VDmgO1lDzeYGXPmKA3oDsGOZD8t+92D7Ep9qlC+zHY56yoFKdUIZTFLet+M/P+avrYU2WTQ5985Zh8CuI/AETdhSsy+6XiX3qwv16oo60xw+GJ8ALSmUgQabGdYxPXI9BsEUF/SOwmmsTkREREREJcuwYcPg8/kwbdq0TNf9+++/6NWrF9auXYvWrdPPSJ6b5cuXw27PvW9wfgNDEnxasyb0/Svs8OHDiIvLXz/gsoRBqVIk6A5lSmmSXkO5lthJYGbdoYaoavtPXeZq1hwzHw8FTQbeFYW4akXfuL3rZRbsXuVT2VJzP5ZxPR3UycWafzwY9bQDsV0bpwWldrjq4MCmgOpvdfnzDhhNoYBb425mdTp1KIAjOwNo3M2UrvyzWW8zjK+n4vjeoJpZsFrj9I8vc49m2PzrYWw+VAmbtlVCQowFwx6OylR+J43Zo1+/QQWw9NXLqx5e2QmeTIbrq9kIHElA9EtXqwwqIiIiIiIqW2666SaMGjUKBw4cQM2a6assvvrqK3Ts2DHfASlRqVIlnC9Vq1Y9b+sqiYpN+d4rr7yivsRGptRl5ddff0XTpk1htVrRqlUrTJ069bxtY3GnnQ5KBRmUyvMsfJsT6+KEvhKMXZtg0jf2UNleB6NqNl4cyHNixON2tB9qRrVmQdRpY1D9sMKnBp2MaN7HpHpCdR1tQY+xVljsOuzfGMCH1yVi9eoYGBpVQ8Bqw7QFoRfxkU/aUa5q5oBbXHUDml1gztSPzGrXoXH30Ix9hyZsRMprv8O3dnfa9fu26/Hbxi7YklpfkqOw/A+PmjlQGqZnpC/vgKljw1ybtescNgQOnYR2MhnuP5Zlu5yUDkrTdMmoSrvMF8hy3UREREREVLJcfPHFKoD09ddfp7s8JSVFxQYkaHXixAmMHTsWNWrUQFRUlIoT/PTTTzneb8byve3bt6usK4kzNG/eHDNnzsx0m0cffRSNGzdW66hfvz6eeuoplcUlZPvGjRunsrbkO5ycwtucsXxv/fr1uPDCC2Gz2VChQgXceuutan/CZJ9GjBiBN954A9WqVVPL3HXXXWnryotgMIjnnntOBfIsFosq7YvMNvN6vbj77rvV/cs+16lTBy+//LK6Tr5LSdZX7dq11W2rV6+Oe++9F+dKsUg/kNS5Tz/9NNcI5+LFi9WDTQ6WPDh//PFHXHrppVi1ahVatmyJsk4aUCsRjaMp575S0z8y4ZutF6FXFyv2rnOHyvYesxerJtu2aD2G/18U4uNTULlyeej1+lyzq6RvlDQxn/yGC5s7D8ChHV44AwYVtGra05zvbWjd34JN83xwb41HwHoQvooxKtNJX6cS5n0dCgi1v9iCGk0N+PNVJxb+6IbFoUOf6wpWeid9q2zX9IHz/b/hnb4Kprb1YGxUPdNynr/+g2fKcjUroGPcWOj0engmL1P9wUzdmsJyUVtmWRERERER5UDz5BDs0OvSfZ7OcVkJxphzX1ZnCf3gnRdGoxHXXnutCvA88cQTad/TJCAVCARUfEACOh06dFBBo5iYGPz999+45ppr0KBBA3Tu3DlPAZyRI0eiSpUqWLZsGRITE7NMlomOjlbbIUEaCSzdcsst6rL//e9/uPzyy7FhwwYV+Jk1a5ZaPjY2NPN5pNTUVAwcOBDdunVTcZD4+HjcfPPNKkAUGXibO3euChjJ/zt27FD3L4ElWWdevPvuu3jzzTdVnKVdu3YYP348LrnkEmzcuBGNGjXCe++9h8mTJ+OXX35Rwaf9+/erk/jtt9/w9ttvY8KECWjRogWOHDmigm2lNiglD6CrrroKn3/+OV544YVcD+ygQYPwyCOPqL+ff/55FcH84IMP8Mknn6Csc8dWxIFkF5wVyxX1ppQI5WsYULWRQZWkzfvKXazK9s6GZEFd/240lv7iwcxPndj+X0CK51C7lVHNJlgQkiklGVgb42uiZe0t8K3YAd+SLfDXqok9y7tDbzCi19VWlW3ldQL/vO/E7M9csETp0G107s3iXUlBOBM11Xhd9aMCYGpbH6YezeBbtBmu8bPgeOYK6KxnAmr+rQfhmbJCnbdc3EkFpCSqLwEqabju+X0JgkdOpZv972yoN1WTQa2HiIiIiKi0SLoz++/SxlZ1YL//kjPL3v8FEE6GyMDQpAYc/xuZ9nfy/76GlhL6nhUp9st78rV9N954I15//XXMnz9fNSwPl+5JWZ8EfuT08MMPpy1/zz33YPr06SrgkpeglASRtmzZom4jASfx0ksvYfDgwemWe/LJJ9NlWsk6JXAjQSnJenI4HCqIllO5niTWuN1ufPvtt2k9rT744APVO+vVV19F5cqV1WXSg0ouNxgMqlJs6NChmD17dp6DUpJlJUG6K664Qv0t9y0BLskO+/DDD7Fv3z4VnOrZs6cK9EmmVJhcJ/vQv39/mEwmFbTKy3EssUEpSUOTAyw7nFtQasmSJXjwwQfTXSZRxpw62Xs8HnUKS0pKSouGyqmkkG2VL9w5bfPxWs0x+WA9NK5jLFH7VpSa9zapoJSo196I9sNMxfLY5WX8M+o6xoz6nUKZS65EDZc9EwWdXu4j/6VtBhPQ7AIj1k6rBK/BAvPp59TRQwb4NSPaXmRGbFWd2j5Zrys1iHnj3apJu88TVKWF4R5WkQJ+DUt+9qigoJROyqx/0mC9cgO9atjesFNXODbvVzP5uX5dBOtVvdXt5M3N+dl0yS2FsUdTGDs1TDs2UY+Phm/ZNnh+nA/f4i3wdmgAY+u6+d7ndNu5Jx7OtyfD1LMZrKNzb9Cuygc1rdACWAUZfyodOPZlG8e/bOP4l20c/7LrXI19+H7Dp/zI8/J5vO/8rr9Jkybo3r27yvbp3bu3yhySJudSLif3JRlTEkSS7KmDBw+q0jSJAUiZXeS6Mu57+O9NmzahVq1aKjMpfH3Xrl0z3ebnn3/G+++/j507d6rkGr/frzKzwtdn/D/jPofX1aZNm3Tb1r17dzU+EhgLB6UkQ0kqZMLLSJBIMrGyO3aR65aYx6FDh9T9Ri4vf69bt05ddt111+Giiy5Sx1ZiKlKJJn+Lyy67TAWvpERRrhsyZIgKmknALbv9yiq+ktfHcJEGpSSqKKV3kraWF5I2Jil1keRvuTw7UuonD9aMjh07piKUJYUMqKQRyoBnV7516rhcbkQQHsTH560hdllXtTWg05tgMAM9b3bi+HFniR3/LNmB4c+p9wd4dG7Exxd8G2p10mHNNBN2JNVAc/suBGxWTFrbUQW6WgxJUeWFYc2HAKeOGbD2LwNmfuzGst9d6Hx5AI16BtWMfyJ+pw5zPzbg+O7Q/uiNGvxeHQ5vD6gT4MMsvYYxN3dArQXz4Zu3ASl14xBsWAXm7xfBkJCKYMVobK3RHDtePoEOIwOwhye1aF4Zxh6NYVq4Dc6vZ8N930A1419B6E6mwPLJHMDnR3L98kjK5SDqtx+BafZG+FvXRqB7IxTp+FOJx7Ev2zj+ZRvHv2zj+Jdd52rspR+R3LcEUuQUyfbuTdnfUK9Lt7zt9euyX1aXflnri1dluVjG9efF9ddfr0rqJFjy5ZdfqtK8Hj16qPt67bXXVDmaZAdJWx/JQJIsJvm+H15XOHgSue7w8QgHTyKvC5+XgJecX7p0Ka6++mo8/fTTKngjwSjJxJLtCS8bDvxltX/h+8lqO/wR65JxkuslQyrj/YTvIyuR68647WGR65bWSdu2bVPlhnPmzFHlgdLnSgJvEpyTAJhkZslJEokkU03OS+ZUpPDxk75eGa9LTk5GsQ5KSb3ifffdp8rvpLHWufLYY4+ly66SqKFEQaVZmjyQSgoZaEmrk+3O7sXJYpCAigeOWBsqV44679tYEkkg+vp3/LDF6FClgaFEj/+5VuFCDXM+SMLiIy1Rv28Aq5Kawx20oNUAExq3zTzF6YhHNNRs5MX8r91IOgrMes+IdVP06HujFfs3BLDkFw+0oPTM0mHgXVa0GWRGwpEgju4MIH53EDuX+7B3bQBTfqmF20e0hGH3AcRVr4LAhiPwbDmseqe5hgzElHEWlWV1crcZ17/ngNkaysjSxvZF6vZ44GgComdvhe3GfvneZ8nISn1vJrRUD/S1KqJiiwaqhFCTbDOXBzp76LVLc3oQPJoAQ70q8G6Kh2f/SVicPtiHdYPOoC8V409Fg2NftnH8yzaOf9nG8S+7ztXYS4BGggSS7ZIp4yWLDJhsnatlcyFlaPK9XgJBP/zwA26//fa0IIgEjKRfkmT/hI+hNC6XhuXhfQ03H4/cdzm+8rdkJUl8QhJXJCAjVqwItQmR4JAsI72mpMRNmpuHhXswhe9T4hqy7qwyisL3I9skpXuSyRUu31u2bJnaFrlO9km2M7xtYVltfyRZPnx9+fLlVRmiHBcJNEVWnnXq1CntPmS5K6+8Up1Gjx6tyhUlXiKXS68s6d8tJ+l31axZM2zevBnt27dPt165L1m3NGPPGNfJa5ynyIJSK1euVE29IndKInkLFixQtZMySDJwkSRl7ejRo+kuk79zqtmUbvFyykgOXEn7chd+cGa33Y2X/4HWTRKwPjgIen3D8759JVX9DgXLoClu43+u6c1AywvNWPZbNP440BsHNgXUbHt9rovKdpu6jrKh/RArlvzqVs3P43cF8fOTZ7LRWvU3Y8h9UXCUD92+Yi0DKtYyoUUfoOeVGj67NQlHdgQwaWUbXPNmTxjMerjHhxoH6oZ2xw9vW+HzhFJSD24O4I+XnBjznAN6vQ6wmhF1Y3+kvjIR/v+2QbukMwyVMzcbzGniAOeHU6EdTYCufDTs9w2DPsqqAlKeH+fBv+0Q7I+MkHcYuN6ajMCRU7A/OByWHs3g/XMZtBPJCKzZDXOnRqVi/KnocOzLNo5/2cbxL9s4/mXXuRj7cNAifCppJEgi2TyPP/64CpzccMMNafshvZEmTpyogi7Si+mtt95ScQIJ8kTua8Z9D/89YMAANaueZGNJRpDcf7h/VHgZuV56LUkmkQR2pJl6uI1Q+D7r1auH3bt3q6bgMuudbHM4FhG+H8m2kpntZF3y/7Fjx9TMdtKYXeIakeV2Gbc142WRMl4vfbifeeYZNGzYUDVIlx5ca9asUQE9WUaOkQTgpAm6PDbk+Mn65fh98803KjbTpUsXVWYot5GeWdJHK+P6w/uV1eM1r4/fIvt2069fP9WxXg5M+NSxY0fV9FzOZwxICelQLyljkSTTSi4nQB/wQ6/ToLcU34wfKtlaDwgF8CQgJZr3NaveTzkx23Tofa0ND/4SiwuutsJkAWKr6HHN6w6MGedIC0hlZLLocPnzDjUj4q51wNxvfdAZDXA8MQamUT3w4591kXRMQ8U6elz1qgMGI7Bxrg9zvgjNBiiMDavBOrYXHE9dnr+AVDAI5+czENhxGIiywP7AJdDHOULXJTvhW78XwcOnkPr6JKS+MQmBvfHQSRN0i1HNJmLu20otKzMH5rdmnoiIiIiIMrvppptw6tQp1eco3JBcSABJkl3kcmmELsEVyfDJKwmeTJo0CS6XSzX0ltnwXnzxxXTLSCbWAw88oLKGJMizePHidFlTQhqvy8Rsffv2VZluP/30U6Z1SZBHGqqfPHlSBbcuu+wyFRuRxJzCJIEuySx76KGH0KpVK1WmJ7PtSQBPSMBMyh4lBiPbsWfPHkydOlUdi3LlyqmJ6KQ8Usr8pBH8X3/9pbKhzgWdVoy+MckDSAZY6jKFTP1Yo0YN1RdKyMBLY7NXXnlFNUeXnlTS0Ez6UkntaF5I1FO680udbkkr35PMMml8ll3EMf62L2Dxu7Cx9aXofl+t876NVLTjfz7Iy8VboxORcDhUd33XNzGo2jB/CZdel6YapxuMefuFZv0sD355JlWdv/ZNBxp2MeHXZ1OxfpZXlV3e9nkMKtQ0YNXfHkx6KbTcZU/b0WZg5gzJvHJPWgrPlOWAUQ/7g5fC2KRGuusD8YlIfe03aKdC69PFRsH+8AgYqpdXfweTnEh+5GvAH4D90ZEwNk5/+4yCx5NUKaAuou+VZGoF9h+XFFLoG1YrFuNPZfe5T0WD41+2cfzLNo5/2XWuxl7K9ySLR7J5zmX7HDo72umeT1IWVxIy2nJ6XOU19lLks+/lRNLjIp+I0i1eplCUSKik7UmUT1Lm8hqQKu30wVD2it6WvsEYUWGRF8Y2F5kx/xs3mvUy5TsgFc6cyo9W/S3Ys9aP/373YOJzqWr9EpCShuljX3SogJRoP9SC4/sC+Pd7Nya9nIpy1fSo0zr9cyGw9xg0lwfGpjVz3saezeBbuQOWYZ1VQEpKBP9+y6kyvPrcYFVZV/ZHRsL59p9q+aj7L4Gh6pm+WvqYKJi6N4VvwUZ4pq/OFJQKJqSqQFb4jcb1w3z41++BvkYFGKrFIXD4FIKHTgJBDYaG1RD16JmpdV0T/oWhRnkY29aHPtqWr2NJRERERERUnBSroNS8efNy/FtIAy45UWaGYKizvtFWrIaVSpne19kQV82A5n3OX/Bz8D1ROLDRj0NbA1jyq0dddvFDUajXPv029L/NpgJTmxf48NNjKbjlkxhUqBUKWvk27IXzvSnQV4iG4/mrVClgdvSVYuF4dmzaMtM/cGLllNB6A34N/W+NgqFKOThevAbQyQyOmX/FslzUVgWl/Gt3IyBN0KuUS8uKSnnxF5ja1Yf1yt5qHVqSE9CA4IET6hSmi7FBFxtqgKhueyIZ3plrTm/kXFgvvwCW/m3O5tASEREREREVGUYvSgktEIQeoZIqQxQzpejckV5PHYYVvDSuIIxmHS5/zoGPbkyCJ1VD19EWdBqeOe1YGpxf9rQDX9yZhMPbAvj01iRc+bIDdduaVH8pncOKYHwivHPWwXJRu0y31/yBtEBU+P+ti7xY9nsoICUkSyy2sh6dLrXmOLOeoVp5WIZ0gKFuZegrhdJVNbcXqe9PgZbkgn/XUVXeJ7MISs+rYGIqAjuPqFn89FXjYKhTGbo4u8qmCk9TC5MBlku7wrdiuwpeeaathPnC1tBJY3ciIiIiIqIShg0qSgtvKEtKGOyMNVLpU76mAbd8Eo2RT9gx6O6oHMsDr30zGjWaGeBK0vD1fcmq35TOaoZ1RFe1jPuv5QimnGmIHg5IpTz7E1w/LYDmDAWhUk4G0/pUdb/cgr43hgJhf73pxOZ/vZnW7U4JYv43Lsz8xAm/T4N1VHeYOjRUmVQya580T5dgki4mCvZ7LlbbFKaPtcPUvgEsgzuoLCp9eUemOnIpC7QO6wTHk2MAq0n1tArsTj8jKRERERERUUnBoFRpoWk4gFrYk1oVpigGpah0qlLfiHZDLLk2SZcZ/W76MAYtLjQj4IcKLM342AlDt6bQ16wAOD3w/LU83W28CzaqGfV8/20HDHrVZPD3F1ORmqChSkMD+t8Whb432tDhYgu0IPDrMynYvyEUDPY4Ncz/1oW3LkvErM9cWPCdG788naJK/cLcvy2Gf81ulRkVdfdQVUaYF+5UDdsW++B1nrlMZzLC1KaeOu9bsSM/h5CIiIiIiKjYYFCqlNBFWTDX3xcT9/eDycphJZIywzHj7Oh9XSi7SRqg//K0E8YRPdXf3rnrEThySp3XPL7QbHvSC2pYJ+gsJiz7zYPtS30wmoHRz9jV/Unm0rBHotCoqwk+D/D9o8mY97ULb49JwKxPXXAla6hYW69uI32tfh2XCr/Th9T3/oJ32ip1/7Yb+sHYoGquA3Rwix9/vpqK14efwg+PpuLH+0zYONergmXC1LGh+l8ashejSVSJiIiIqBhLawtBVEweT0ypKUV8rtNfVjnDJ1FajylpSl6xjgF/vJyKTfN9CPjjcGmrOgis3wv3xMWw3z0UnllroSU6oasYA3OvFji6y4/pH4ZSkwbeFaUytMIkS+vy5x0Yf3eSarw++/NQGWD5Gnr0vcmG1v3N2PGfDz8+loKNc7ww6IMY6Ao1L7cM7Qhz1ybqfDCoIflYEF434Pdq8HsBv0fDiQMBrPjTg4NbQrNpque0BUg9qVNBtdVTfbj4wSjEtawDXZxDzQ4Itw+wnSkFJCIiIiKKZDab1cz2hw4dQqVKldTfGVtFUNHTNA1+vx9Go7FYj49sp9frxbFjx9TjSh5PBcWgVCnic4eDUsX3wUtUFNoOtKBcFT2+eSAZWxf5sOGqjmgeHQ9j4+oIprjhOZ3FZL20C3w+PX4dl6SCRI27mdBlVOam7pYoHa55Ixpf358Mr0tDr2us6coKG3czq8DVhCdSsG6WH44L++PCW50wtm+I3at82DjPi80LvEg6ln2Gk8EEtOhjRqdLLajWRI9pn57E6j8MKnvr/asT0ecGG7q/eB1MlvxlRgZPpsAzczUMtSrC3L1Zvo8lEREREZU8EjioV68eDh8+rAJTVHyDPcFgUI1XcQ5KhUVFRaF27dpqewuKQalSwr/1IG6u+AeOOcrBbL2iqDeHqNiRGfiGPhCFP191YupPVlR67So06GZTvZ6kx5T0mgq0bIQfHkzG0R0B2MvpMOLx0Ox32fWtuuubmGyvb3aBGWPGOfDLMylYPCcKB47F4MRziapHVZjeAJijdKrcT8oD5X+rXYfmvc0qyGWPC724yxtTlysC6HZpOfz9lgu7VvpVuWDC4SCGP2rPdp+lLNH19WwYalVSMwGevjN4Z6xRZ41Na6mG6kRERERU+kk2iwQQJBMnEDiTlU/FRzAYxIkTJ1ChQoWzCvScDwaDoVAyuhiUKiU0rx8GXRA6ncZMKaJsdLzEiv0b/Vg1xYtfXnDjzk/10P27SV2nG9gF39yfosrmrA4drnzVoQJPOcntBbhFXzNGBeyYOC4V+9aHmqLbonVoeoFJZUHV72hSwai8qljbgOvfjcaqv72qHFFmFexzgxUO10noHNZMzdM9U1eqxu3y+hDO99KVP7OMb+1uWPq2yvP6iYiIiKhkk8+vJpNJnah4BqVMJhOsVmuxD0oVFgalSomgy6f+9wWN7ClFlIOLH7Tj8LaAOk0Y58aNL4+F698t+PqTCji6M4CoWB2uezsa1ZsUzstj6/4WmK06VbbXqKsZ9dobc509MLcPEjID4Jp/PNizxo+jb80Bjm1R/aqsI7ulLRc4mgDPtJXqvLFlnTO31+tgHdX99GyAuxiUIiIiIiKiIlM2Qm9lgN8ZysLwa4Z8ZV4QlTXy/Bj7okNlLB3YFMCfH2kY/3MDHN0ZRHQFHW76MKbQAlJhTXuaMfheOxp2Np1VQCpSt8tDMxqs3VZB/e9bcWYWPvnf/cN8wB+EsWVtmPu0THdbY9t66n//lgPQXN5C2R4iIiIiIqL8YlCqlAikhjKl/EGj6ktDRNmLq27AZU9Lvyhg7XQvTuwPIraKHjd9FIPK9Qwl4tA17WFCXHU9Nh+rgaDegODRBAQPhmb586/cCf/GfYDRAOuVvTOVGeqrxUFfOVYFrdRyRERERERERYBBqVIi4AwFpQJ6Q4no0k9U1Bp3N6P39aFso/I19bj5o2hUqFkyAlJCb9Ch2xgrfEETDnirncmWcnnhmrBA/W0Z3B6GKuUy3VZeI8LZUtJXioiIiIiIqCiwp1QpEXD7VIQxqOOQEuXVhTfZ0KirCZXrGdWsdyVN+yEWzP7chfXxtVG7+gH4Vu6EPs4B7VQqdBVjYBnSMdvbmtrUg3/1LugrxRbKtmipbujsoSAfERERERFRXjCCUUr4bQ4cSq2CRH3mrAgiyppkDNVuWXJnHrHYdeh4iQXLf66BoISlD52EoVF1RN0xGLooM3Tm7F/iDU1qwPHytTlmVkrWVfBEMgw1Q32rsiPLpLw8EabWdWG9shd0xpKTcUZEREREREWH5XulhKt+Y/y6vz+26poX9aYQ0XnU9TILfDBjd0pV9bdv9S6YOjaEsXntLJffvtSLD65LxDcPJEMLZn+/mi+AlBd/QcozP8Izc02O26CLiYK5b0t4F2xE6lt/IpjsOrudIiIiIiKiMoFBqVLC5w7NusWZ94jKlnJVDWjex4xlJ1pidfWBsAxqn+VySceCmPBkMr59KAVHdwSwc7kfBzb5ofkD8G89mGl5z4xVCB4+pc4balfKNnClGPUIVKwAWIwIbD2IlBd+QeDA8cLcTSIiIiIiKoUYlColvJ7Q/yZryeuLQ0Rnp/vlFhxyVcL8hRWRmpT+uoBfw+IJbrw7NgEb5/qgN0DNNCi2LnAj+eGvkPra7wgcCQWgRPB4EjxTVqjz1tE9YGxSI9M6gyeTkfzEd/Au3YoF37rxyoPlcKjfpWpWP+14ElJemqiyts4lyciSXlZERERERFQysadUKVFuwWzc1WgfNus7Sfvjot4cIjqPpC9WzeYGHNgUwI+PJiOqnB6eVA0ep4aUE0EknwhlUtZqYcCwR+w4tieAX59NxebFQXTvUAn+jfvgX7MbhkFxajnXz/8CXr/qO2Ue2C5tPYH9x1UQyFC/KpwfTIV2Ihmuv1fh30XSc0qPWZNsuPOjy+D6ZDoCWw7A+cHfsN3QD+aehV9WrHl8cL73l+p7Zb9vWKE1bCciIiIiovOHmVKlhM7tgc3ghYFhRqIyqfsVoZnv9m8MYOsiH/as8ePwtoAKSNmidRj+aBRu/iQG1RoZ0aiLSWVMSXDKW6eOup1vze7Q/+v3wL9qF6DX4XDT7pj2gQtet4bAgRNIee13pL43Bc4P/0Zgbzx0DiuW2frC4wm9lcTvCmDvNhPsD1wCc59W6jIJeBU2LajB+cVMBHYdhZbohBYINcfStFDwjYiIiIiISgaGMEoLnz/0fw6zbRFR6dXyQjP8HsCVpMEcFZqZz2rXwRylQ5UGRnU+zBajR502Ruxe5ceO5JpoLFlQOw6rcjj3pKVqGWPfNvjlQwvcKW7Vs27Y/eVgqFMJgc0H4N+wTwWt/JcNxKInzGr5cKbW0olu1O8QDetVvWFsWRvGtvUKfV/dvy6Cf9VO1csq6u6h0JwepL77F4zNa8EyoG2hr4+IiIiIiM4NZkqVEjp/KCilt5Tc6e2JqOB0Oh3aDbGojKmOl1jRqp8FjbqaUae1KV1AKqxpj1Awaf1KM/S1KkqaEfzr98B+7zCY+7bCtqi2cKeEMo+W/+HB1mUB2O8eqkr3hPWKCzB7TnkEA0DDLiaMeNyhLt+y0IeEIwHo9DqY2tVX21WYPHPWwTtjtTpvu6G/6ncV3H8c/nV74JmxJi1rioiIiIiIij8GpUpZUEpnYaYUEeWuac9QAHvvWj/QrG5aCZ++nB22q/tg2ZRQcCeueuht4o+XU5HqNML+f6MQ/cq1OFW3BdbP9KrrBtxmQ+V6BjToaIQWBJb9fnrmhdMkk8n5xQz4t2We5S8/fGt3w/3jAnXeMrIrzF2bqPOm7k2hi7FBO5kM34odHH4iIiIiohKCQalSQhc4nSllZVCKiHJXvqYBleoaVKbTQdQCbGZoCanQ/AEc3OLHwc0B1aPupg9jUKWhAakJGia9nKrK9qSp+KxPXZJchRYXmlG9Seh1p8tlob5WKyd7VB+qMPeU5fAt2ar6QEmAqqB9pFRpoabBdEFzWIZ0PPP6ZzLCfGFrdd4zbRV7SxERERERlRAMSpUS+rSgFMv3iCh/2VLrNsZCH+eAvko5wKBX5XqieV8zYivrMfoZO4xmYNtin7pu33qfaqYuzdL73WxLu78m3U0qs8qVrGHdjDPBJ+uwztBXignN1vfD/AINj5QD2u+/BOZ+rVUml5QF+n0a/n47FT89kQytS0vVUy+475jqe0VERERERMUfg1KlRJKpAg67KkBvtxT1phBRCQtKbV/mh+2RUbCO7AZPqoZ1M0MBpc6Xhl5PqtQ34qI7otT5ae878dcbTnW+3WALKtUxpN2f3qBDl5Gh2yyd6EnLWNLZzLDdfJE0voJv6Va4f1uM4InkPG2j5vWfuX8pLbyyN3RGA/xeDT8/maLWs2meDxNfC8DUo5lazjN9VaEcHyIiIiIiOrcYlCol/ovpjx/2DgLioot6U4iohKjZ3Ah7OZ1qaL5vu0FlS62Z5oXPDdUjSmboC+tymQUNOhnh8wBHdgRgMAF9bwyV60VqP9QCkxU4ujOAPWvOBJSMDavBcnGo5M4zdSWS//c1Ut/+M8dSu0B8IpKf+A7eJVvSXe7zaPjp8RTVVF0yuFQW1xIflh5ppgJfMjtgYP/xQjpKRERERER0rjAoVUrIlO3CZC3cma6IqPSSzKbG3UPZUlv+9aoAUbh0r9OllnQz5+n1Oox8wgFbTOiyziMsiK1yJksqzBajR9uBp7OlfnWnu85ySRfYbuoPQ9OagA7QWc1p69CCQbh+XaQCUIGDJxA8noTUNyZBO5kS6hPlD6QFpH78v2QVhDJZgKtfi8bIJ+3qurmTTDjVoBWs1/QNlSISEREREVGxxq7YpYRkNgiThUEpIsq7pj3NWD3Viy2LfGjex4/43QGV6dR2kDnTsjGV9Lj6dYcql+tzw5leUhlJVtXyPz3Y/K8PCUcCKFfVkNYXyty9mToFTyanK80LxifCOy1z2Z0El+wPDlcle16Xhh8eTcaulX6YbaGAVL32oaDasb1BzP3Sha+ntcJ1g6JRz1zwtzcJkAX3n4B/xyG1XnPvlgW+LyIiIiIiyh6DUqVAMMmJYZ6f4alvgNtyVVFvDhGVIA06mVT526lDQdUvSrTub4HVkXUibe2WJnXKifSgqt/BqIJHH9+UhOa9zWh5oRl12xphMIYC5/ry0SrIdGhDKBAWbQigao9W0B89Hiq98/igqxCNqAeH49gJC7b+5cK6GV5VFigBqWvfjEadNme2o+8NVhzbHcCGOV5MeCIFt30eg5iUI/Ct2QXryO7QmTJndWWc3S+w9QC8i7fAt3oX4PKGtrNaXFpQSoJVCGoqUEVERERERCU8KPXxxx+r0549e9TfLVq0wNNPP43BgwdnufzXX3+NG264Id1lFosFbnf6EpEyx+ODVeeGwWhAwMaKTCLKO0uUTmUbbV/qw8EtoRK5TiPOfsKEi+6MwvePJCPlpIYVf3rUyR6nU5lZHqeGI9v9OLE/iDMtpeS1qzViq+hRs5kedeu6cPKUBZtvCyLhSNKZ7bXrcO1bjkyBMSkDHPGEHacOBdR+/PS/BFxdbQZwKgX+LQcRddtAGKrGZbmt7qkr4J27XpUKprGZYWxQFYZG1VVZo2/BRrinLIdlaEdY+rQ66+NDRERERERFHJSqWbMmXnnlFTRq1Eh96P/mm28wfPhwrF69WgWoshITE4OtW7em/R3Z86SsCpfA+IJG9pQiogLNwidBKVGjqQE1mp79W4Pcx8OTymH3Kr/KXto034vUUxpW/hXqWRXmqKBDlXoGJJ/UVKZT4tGgOm2EBJ2CahnJ5JLAWZPuJpV1FV0x6+C72arDla9E45ObE3FkD7C9dVc09i1EcN8xpIybAOuwzuq9JnjkFKyXXwC9w4pgUIN2PCkUkIqywNypEUzdmsDQoCp0+jPr0Tw+tYx3wUYGpYiIiIiISkNQatiwYen+fvHFF1Xm1NKlS7MNSkkQqmrVqudpC0sGzRcKSvk1A8xnn+BARGVMkx5m/PVGqHSv04jMM+oVlJTqNexsUqdhD0dh10ofdvznVxlT1RoZULWhEdEVzgR+PKkaDm3148Bmv8p2iorRoXE3E+p3MMFsy9sPENL36uIH7Wp2vr+nVUGDjy+HacpsBDYfgPu3xWnLmXu1wLLV5TH3KxeGXdUMTe+oDWObutCZsn5bNHVvqm4f3HsMgT3xMNStXAhHiIiIiIiobCs2PaUCgQB+/fVXpKamolu3btkul5KSgjp16iAYDKJ9+/Z46aWXsg1gCY/Ho05hSUmhMhC5vZxKCtlW9Qt/FtscdPvSMqWizFkvQyVbTuNPpd+5Hv/oitKc3KzK6VpcaDwn69HppX+VUZ0iRa7LZAPqtDWoU3qy72l1frlq0tOAeu2NKktr2nc6jBl3CXyz18K/Zjd05R3QV4nD4SNmTPvAiWAA+PUTC0Y+FYfWBn2ob1RWoiwwtm8A/3/b4Zm/AdbafXA+8LlftnH8yzaOf9nG8S+7OPZlW7AUfe/L6z4UeVBq/fr1KgglfaEcDgcmTZqE5s2bZ7lskyZNMH78eLRu3RqJiYl444030L17d2zcuFGVAmbl5Zdfxrhx4zJdfuzYsRLVi0oGVPZZHqD6iJISoTt6HNbTmVKJKSfgiy+yzaQiGH8q/c7H+HccG/o/IckJnGnhVGJ1uVqHPWuMaqbANfOPo0ab6oCcAHhdwM8P6VRAyl5eQ+pJHX5/IRVOTyLqd84++KVvVR2W/7bDu3Qrkvo0Bizn/i2Uz/2yjeNftnH8yzaOf9nFsS/bgqXoe19ycnKeltNpsrdFyOv1Yt++ferAT5w4EV988QXmz5+fbWAqks/nQ7NmzTB27Fg8//zzec6UqlWrFk6dOqX6U5WkB6cE0ipVqpTpweletgO+L6bjgLMS6n8+WjUuptIlp/Gn0o/jXzBSkrjiTy+qNjLgts8d0BtCr42TXnJizT9elKuqw+3jo/HPuy6sne6DwQRc9ZodDTpmPbugvF2mPvkDtPhEWK7tC/MFub9PnS2OfdnG8S/bOP5lG8e/7OLYl23BUvS9T2IvcXFxKtaTU+ylyDOlzGYzGjZsqM536NABy5cvx7vvvotPP/0019uaTCa0a9cOO3bsyHYZmZ1PThnJAJe0QZZ+Wlltd1BvxhF3eZzyxsBslesZlCqNsht/Khs4/vnX/5YobJjtw5HtAaz5x4eOl1hV03UJSEk54ainHLDHGjHicQe8rhRsXuDDT4+l4vp3olG7lUmVDCYeCeLYngASjgbVzIGW3i3h/nUR/P9ugrV3S5wPHPuyjeNftnH8yzaOf9nFsS/bdKXke19et7/Ig1JZRQYjM5ty60Ml5X9DhgxBWRaoWwvf7xmsfuXvaWRAiohI2OP06HujDf+858SsT12o1dKIP19LVdf1usaKum1NaQ3Zx4xz4IdHk1Uj9m8fSkFcdT1O7AvAF/F2JDMH3vJ2U5iOnFKN0omIiIiI6OwUaejtsccew4IFC7Bnzx4VXJK/582bh6uuukpdf+2116rLwp577jnMmDEDu3btwqpVq3D11Vdj7969uPnmm4twL4qe93RrLJOVASkiokhdRllQsbYeqQkaPrs1Ce5kDTWaGVSwKpLRrMPYl6JRp7VRzQIo2VUSkJJgf+X6BphtwKGtAaxbaEDU9f1grJ+3WWCDxxKheUKTURARERERUTHKlIqPj1eBp8OHDyM2NlY1MJ8+fToGDBigrpdeU5EpX9IH6pZbbsGRI0dUbaKU+y1evDhP/adKM58n1BbMlLlKkYioTJMsqMH3ROG7R1JUg3MJLo1+xqEuz8hs0+GaN6OxfpZHZVlVrmtAuWp6tezCH1yY/pELMz91okUfMyz23H8E0IIanJ9ORzAhBVG3DYKxUajROhERERERFYOg1Jdffpnj9ZI1Fentt99WJ0pPv3AVbq6/ETs06c11AQ8PEVGExt3NaNrThC0LfRj6gB0VahmyPT4yUYT0nsqo62grlv/pwcmDQSz4zoULh6bCM2c9jE1rwtylcZb35Vu+HYHdRwGLCfoKMfDMWw9DlXIwNqvF8SEiIiIiKuryPSocWrIL5cwpsJpYIkJElJUxzzlw/4RYtB9asJRSKe8beHeUOr/4ZzeSFu6Gb8FGeP5chmCKO/PrstcP98RF6rxlSAd4l2yG+7t5cE34F1owyEEiIiIiImJQqnTQPP7QGUOx61tPRFQsmCy6HDOk8qLZBSbU72CE3wvMWV8PujgHgkcT4PxgCjTf6dfh0zwzV0M7mQJdeQcsF7WDuXcrIMqC4IET8C3ecpZ7Q0RERERUOjBTqhQIN9HVTAxKERGdy+l5B98bBZ0eWDPfgITBQwCbGYHth+H8fKbqISWCianw/L1SnbeO6g6d2Qi9wwrrxR3VZe5JSwvc/FyyrAKHTsK/5UDa+oiIiIiISioGpUoBKRNRGJQiIjqnqjY0ouOwUAnglO+tsN05BDDq4V+5A+6f/4WmaXD/sQzw+GCoVwWmzmf6TZkvbA1dhWhoCanwzFpToPWnPP0jUp76AamvT4J39tpC2y8iIiIioqLAoFRpEC4bMZmKekuIiEq9frfY1Ox7h7cFsH5nZdhuDM0Y6521Ft456wC3V/1tvbwndPozs/TpTEZYR3ZT5z1TVyKY5Mx1XYG98YB2JiNKXzUOMITeuiUoxWwpIiIiIirJGJQqBXSng1I6y9n1SyEiotzZ4/Toe0Nohr4Znzjhb9oQ1tE9oK9SDqbWdRF12yA4XrgKxkbVM91WMqf0dSoBbh88f/2X43oCe+LhfOFXmD+bC80fUJfZrr8QMe/eosoGg8eS4N+8n0NGRERERCUWg1KlgMcYhZPeaGiWzNOYExFR4etymRWV6xvgTNAw7QMnzAPbwfH05dBXilXXG6qVz/J2kjllG9MThqY1Ye7RPMd1uKeG+lJpcXbojKEfHfQOG3Q2M8zdmqq/vfM2FPKeERERERGdPwxKlQLbavXB+F2XILVizaLeFCKiMsFo0mH4o1HQ6YDVU73YvcoPndWct9s2rQn7w5fCULdytssEjpyCf9UOdd7fOxSAimTu3TJ03ZpdCJ5KKfB+EBEREREVJQalSgGfO9RvxMREKSKi86Z2SxM6jwg1Pf/z1VT4PFq+ZvILC5fmRfL8swrQAEObutCqhLKvIulrlIehUTXoa1aElofeVERERERExRGDUqUqKHXmSw4REZ17/W+PQkwlHU4eDGLeV65M17tTNcz81Im5413w+9IHrTSXF64J/yJl3ARovjOBqeDJZPiWbFHnLYM7pLuNx6nh9xdT8NKgBBzrNUiVDBrqZJ1xFTyRDOdXs+HbsK+Q9paIiIiIqHAxKFUKdDwwGdfW/Ru2YGpRbwoRUZlitesw9EG7Or/wRzeO7Dg9GyqATQu8eO/KBCz41o05X7rw5Z1JOHU4fVaU77/tCB46Ce+sNWmXeaavBgJBGJrUgKFB1bTL5b4/uSlRlQu6UzQsmKily7iKpLm9SH1nMnwLN8H5/l/wbz14DvaeiIiIiOjsMChVCjh8p1DZmgAjM6WIiM675r3MaN7bhGAgVMaXeDSAHx9Lxk+PpSD5uIbyNfSwxehwYFMAH9+QhC0Lvep20rDcell3dd7913IEE1KhBTUEth9Wl1mGdFT/axqwYrIHn96ShOP7gnBUCAWidi73IflEUGVc+dbuTr9RZhNMHRpInSDgDyL1/SkIHDheoP0LHk9S2VtERERERIWNQakSTpNf0xFU541RxqLeHCKiMmnoA3ZY7KHA01ujE7F5gQ96A9D7Oivu/i4Wd34Vg5rNDXAla/jh0RRM/9CJgF+DqWsTGOpXBTw+uH9brGbnsz85BlEPDIexRa1Q+d/bBvz1ugt+L9Coqwl3fxuLWi0M0ILApqlJSHpoPJzvT1HBozC5H+ulXRH95g2q9xRcocyp3IJLWjAIz8w1CKacKUV0T1mO5Ee+RsorE+GZsw7B5MxlikREREREBcGgVEnnPVMqYogyFemmEBGVVTGV9LjoDps6LxlTEjS68+sY9L81CiaLDuWqGnDTRzHoNsaSVur31b3J8HkA65W9AB3gW7wF/p1HVEDJ1LK2up8fH03B9kUGFeAaeKcNV7/ugL2cHm0Ghu5n1VwdDPWqqKbo3n83wbd+D7SI9wV9rB1Rd18MfbU4aKdSkfr2ZGip7mxn/Et95Te4J/wL948L0i7XUkLLSwaX+4f5SHn6B5XVRURERER0thiUKuEiv3yY7cyUIiIqKh2HWzD4niiMeNyOmz+JQZX66V+TjSYdhtxnxxUvOFRW1d61flXuZ6hbGaYezdUyrm/mqBI+Ic3R964NwGTTcOMHDvS8yga9PlS61/JCswpUHdoagLtF6Lae2WvhfHcKUl/7XZX0hekdVtgfGA5dnB2a24fg6SCTZFb5N+2Hd+lWuP9YqhquB3YeAawmGJvVgiZ1gwDsdw9F9Os3wDqmJ3QVY6AlueCZuuI8HVUiIiIiKs0YxSjpvD71ny9ogMnG2feIiIqKBIy6X2HNdbkWfc2wx+lUptS6mV7UaGZE15HdVFPy4LFEBA+ewJ6jsapBuuh7ewC1WqZ/u7bH6VUp39ZFPqzdVx2dYqKgJTlD21Gjggospdu2CtGhwFSUBfo4h7rMM2M1vLPXpVvO2LwWbNf3U8unu315BywD28FQqyJS3/wD3vkbYBnUQV1ORERERFRQzJQq4cLTiPuCRlUiQkRExV/dtiYMujtKnZf+Unt3mWD/30jVB8ppK4eJ41JUg/MOw8xo1DPUNzCjNheZ1f9rZgVg6t1CnTc0rQnbNX2ynJXPUKNCWkBK6CvFqrI+meXP1KkhbDf0Q9SDwzMFpNLdR7Oaanlpnu6dmz6gRURERESUX8yUKuk0DYl+B1w+Mypw9j0iohKj62gLDmz2Y90ML35+KgV3jK+G6EbV8dODyUg5qaFyfQMG3WtDQlJKlrdv0tMMS1QqEg4HEV+nLarfUwXGZjWhMxrU9acOBTDnSxfaDbGgfofMPQctA9qqU35IsMs6spvK5jL1aFbAPSciIiIiCmGmVAknv3yP3zMc3+8dDBODUkREJYYEeIY/akfVhgakntIw4YlkzPvKhZ3L/TBZgcufc8Ccw+u6XNe8Tyhbaq1kS7WtB50lFHxyJgbxzYPJWDPNi58eT0HSsayzrQrC2LAazL1bpgW/iIiIiIgKikGpEk6mFA+c7nUuX2KIiKjkkMDS2JccsEXrcGBTAHPHh/pIXfygHZXr5R70Cc/Ct2G2F35fqDG536vhx8dScGJ/KBDlTtEw+fXUtMbleREMalj9jwcb551pmJ4VzR/IdjY/IiIiIqLcMChVwsl04mHsKUVEVPKUr2HA6GftCLeBajPQjHZDQhlQuanXzojoijq4kjVsX+pTgadJL6Wqmf1khr8x4+wwGKEaoktT9bxIPhHEtw8m4/cXUjHhiRRs/jfr2/k37UPyE9/DNeHfbO8rPNMfEREREVFWGJQq4byrduGaulPRt8pKGPP2HYaIiIqZRl3NGD3Ojm5jLBj2kASo8jZxhd6gQ+sBoWyptdM9mPOFSwWf9AZg7IsOtOpvQZ8bbOr6v992IuVkzmV825d58eF1iaqEMEyCUycPhibVSMdmgXY8Cb4lWxE4fFLNHOj6dg40b+i2gSOnkPL0D3D/vSI/h4KIiIiIyhAGpUq4wIlUVLGeQjlLSp6/xBARUfHTqp8FQ+6zqwyn/JDMKrF5gQ/zvg5lJl3yiB0NOoX6S11wtRVVGxngStIw5W1nlvchpX8yC+C3D6ao/lZVGhhw1zcxqN3KqMr/pBG7z5O+/M9YrwqMbeupCTecH/2D5Kd+gHf+RnimhoJQ/vV7oSU64fl9Cdx//VegY0JEREREpRuDUiWc3+VT/wd1nEiRiKgskkbpMlNf8HQyU69rrOgwLJQ9JQxGHUY8blfZUxvneLFx7plyPFdSEMv/dOPTm5Ow8MdQQKvzSAtu+zwGVRsaMeY5B6LK6XBoawD/vJs5oGUd3kX9Hzx0EvAFYGhaE6bOjc/M7jeyqzrv+WMZ3H8uy1dfKyIiIiIq/RjJKOGC7tC3kKA0DSEiojJHsmQ7X2rBlLecaNXfjH63hsr1IlVvbFQZU/O/ceOvN1PVJBkb5nixbYkPgdBvG7BG6zDiMTua9z5TCx5bWY/RTzvw7UPJWP6nB3XaGNOaqwtD7UowD2oP/4a9sAzpCFPnRumydq1DO0Gn18M9cTE8k/8D/AE1c5++YkzaMlogCJ2Bv5ERERERlUWMZJRwwXCmlPwETkREZZJkN9Vrb0LFOnro9VmX//W53qZK/OJ3B/Drs6lpl1dpaEDbi8xoO9gCR/nMwaGGXUzofb0V875y48/XUlGtsTHdzIC20T0AOWXDMrgDoNfB/csieKauhHfJVsS8cUPa9amv/w5zr5Ywd296FkeAiIiIiEoi/jRZwmmeUENZzcj4IhFRWSXZSRIoyi4gJYxmHUY8YYfZBsRU0qHnVVbVN+rub2LR8ypblgGpsL432FC/oxE+N/D9/5KxbqZH9aHKK8vA9rBe3Qe6cnbo7GcyraQ5evBkCjz/rGRpHxEREVEZxEhGCcegFBER5VXNZkY8NjUOeiNyDGBlNcvf6Gcd+PjGJJw6FFSZVo4KTnS61IpOwy2IrpD7b1yWvq3UKZLOYYOWkKpK+AK7j8JYvyoHk4iIiKgMYaZUCeeHAal+K4KmM788ExER5ZQxlZ+AVJgjTo87x8fgwptsiK6gQ8oJDXO/dOHNkQmY+FwKju093Wk9H3Q2M0ydGqnzvoWbOWhEREREZUyRBqU+/vhjtG7dGjExMerUrVs3/PPPPzne5tdff0XTpk1htVrRqlUrTJ06FWXZ0SZd8fGOUdgf07yoN4WIiEo5e5wefW+04cHfymH0s3bUamlEwA+sne7F+1cnYuLzKTh5IO/BKWm4ntqwiTrv/W8bNI8v77c9cBzJ//cNnJ/k/LmBiIiIiIqvIg1K1axZE6+88gpWrlyJFStW4MILL8Tw4cOxcePGLJdfvHgxxo4di5tuugmrV6/GpZdeqk4bNmxAWeVzh3p6mKz5/9WbiIioIIwmHVoPsODWT2Nw+xcxaHqBCVoQWDvNi3evTMQfL6ci4UjOwakDm/349JYkvPekAx6LA3B54Vu9K0/rD+yNR8qrvyN4LAm+5TsQPJ7EgSQiIiIqgYo0KDVs2DAMGTIEjRo1QuPGjfHiiy/C4XBg6dKlWS7/7rvvYtCgQXjkkUfQrFkzPP/882jfvj0++OADlFVed+h/BqWIiKgo1GhmxFWvRKvgVKOuJgQDwMopHrw9JhE/PpaMrYu8KiMqzJ0SxJQ3U/HZLUk4vE0CVzpsTKqvrvMu3JTr+vw7jyDl9UmA06P+drx0DfQVY87hHhIRERFRqW90HggEVGleamqqKuPLypIlS/Dggw+mu2zgwIH4448/sr1fj8ejTmFJSaFfU4PBoDqVFLKtmqZl2uaam+fj8tqJOOnvjGCwTpFtHxXN+FPZwPEvu0rS2FdrosfVr9uxb70fc790Y9dKPzYv8KmT9KBqM8iMCrX0mPO5G8knQkGqVv1N6voVB+qhXYN10Lx+BDw+6EyGLNfh33YIrvemAB4fDA2rwXbvxaovVUk4PqV9/KnwcfzLNo5/2cWxL9uCpei9P6/7UORBqfXr16sglNvtVllSkyZNQvPmWfdHOnLkCKpUqZLuMvlbLs/Oyy+/jHHjxmW6/NixY2qdJWlAExMT1QNUrz+T4GZLjkflqESc8KUgPj6+SLeRzv/4U9nA8S+7SuLYW6sAgx8HTuzTYfMcPbbN1yP5BLDwhzM/EMVW09D7Fj9qtfEiOdGIPcsdWNbsYrS52obUUyeyvF/93uMwf7UAOl8AgfqV4bqqK1KSE4Dk0wskOoHYKJQmJXH8qfBw/Ms2jn/ZxbEv24Kl6L0/OTn8Ia2YB6WaNGmCNWvWqAM/ceJEXHfddZg/f362gan8euyxx9JlV0mmVK1atVCpUiXVXL0kPTh1Op3a7sgH51Fp4iHBqTgHKleuXIRbSEUx/lQ2cPzLrpI89vKW1Kwj4H9Aw/YlPqya4kX87gDaDjaj51VWmCyhXojtBnixZ7kT29fFYUDl7N+XtagYOCuvgy7ODscdg6Ezhz7CaKluuD76B4E98bC/ci300TaUFiV5/OnscfzLNo5/2cWxL9uCpei9XyanKxFBKbPZjIYNG6rzHTp0wPLly1XvqE8//TTTslWrVsXRo0fTXSZ/y+XZsVgs6pSRDHBJG2R5cGbcbr1MeyQDaTOXuP2hsx9/Kjs4/mVXSR97swVo0ceAFn2y/mDS9AIz9AYnju4MIuGQhrg4n5qFT18+Ov2CMVGwPzICOqs5XXmf5rBBc/sArx/+BRthHdYZpUlJH386Oxz/so3jX3Zx7Ms2XSl578/r9uuLY2QwsgdUJCnzmz17drrLZs6cmW0PqrLAoIWCUnpb1v03iIiIirOoGD3qtgv9RnZ4wnokPTge7t+WQAsG4ZrwLzwzVqctK1lQGftNyQc3y6D26rx39jpovtD7IhEREREVf0WaKSWldYMHD0bt2rVVveGPP/6IefPmYfr06er6a6+9FjVq1FB9ocR9992H3r17480338TQoUMxYcIErFixAp999hnKKr0WmnLbEGUq6k0hIiIqkOa9zNi1wo8t26JRMxCAb9VOaG4v/Gt2S9QJxjb1YKhSTi3r92k4ujOAg5v9OLIjoAJarfo0gLt8NLSTyfAt3gJz75YcCSIiIqISoEiDUtKYWwJPhw8fRmxsLFq3bq0CUgMGDFDX79u3L13KV/fu3VXg6sknn8Tjjz+ORo0aqZn3WrYsmx8+tUAQBoR6ShkZlCIiohKqWS8zprzlxJqN5dC/VxwQfyoUkDLqYbtpAILlYjH3Myd2/OdTgaiA78xtV/3tQd025WAZ0AbunxeqzCrTBS2g04d6VhERERFR8VWkQakvv/wyx+slayqj0aNHqxPJz8UBuDWLKuEzOli+R0REJVNMJT1qNjfgwKYA4is2RuX4ZdBFWRB1z1AYG9fA1HdSseTXM6X9tmgdqjc1IOFIECf2B7HkFzcuurEF3JP/Q/BIAvzr9sDUtl6O6/Qu3AT/hn2wXtW7VDVHJyIiIipJil1PKco7ncWECe4xeHfbFTA5zDx0RERUYjXvE3ofW7yvEazX9IHj6ctVQGrnCl9aQGrIfVF44OdYPPZPOVz/TgwG3R2lLl/+hxtuvzGtbM+3ZEuu6zPUrwr/1oNwfvA3+1ARERERFREGpUo4nzv0f3hqbSIiopLaV0rsWq0h2L4F9JVi4UoO4vcXU9XlnS61oNsYK8rXNKjm5qJxdxMq1TXA45TAlAeW/m1gu+UidcqVDqpvVWDHYbi+mg1N087tDhIRERFRJgxKlXA+d+hDtMnKoBQREZVcFWoZULm+AcEAsHVxqGmU9JlKig+ifE19WlZUJL1ehwuusqrzUsIXiLLD3LUJdMZQSbvm8SGY7Epb3rdhH3wrdqjzhmrlYb/3YsCgh2/ZNnj+XJan7dT8AXgXb1GzAxIRERHR2WFQqgQLHDqJYeVmYlDVJTCFPpMTERGVWM17h2aS3TTfiw1zvFg3wwudHrjsKQfMtqx/fGk1wIyYynqknNSwZponXfDI+fE/SH15IoLHk+DfcxTOj6bC+ck/8G3Yq5YxNqsF2zV91XnPX8vhXbw5x8lFvP9uQvLj38H15Uz4/tteyHtPREREVPYUaaNzOjuBJCdq2Y4iSh/DTCkiIioVJXzzvnJj+1If9qzxq8t6XWNFrZbZf1wxmnTocbkV/7zvxMIf3ehwsQV6gw5akhOBgyehnUxGyku/AlKe5/HB0KwmjE1qpt3efEFzBOMT4Jm6Eq6v50BfIQbGJjXUdZrLCy3VDf/2Q/BIE/X4RHW5LjYKOF1CmBPJ0nL/MB/GtvVUBhcRERERpcegVAkWSA19YPdrBvaUIiKiEq9qIwPiqutx6lAQfq+G6k0M6Htj7jPjdbjEgnlfu3DyQBCbFvjQsq8Z+vLRcDx+GVLfnozgwRNqOX3tSjDfPAT7twZxcJNP9ZXqMtICy4huKuDkW7kDgYMn0oJSKc//jODRhLT16BxWWIZ0gLlPKzXZiBbU4Fu+Xc30J39Hkh5Vzg+nIrD9UGiZzo2g0zNBnYiIiCgSg1IlmD811HPDFzTCZCnqrSEiIjo70sC8WS8zFk9ww2gGRj3tgMGYe0aSJUqHLqMkMOXGwu9daNHHpO5LH+eA+f6ROPnuTPhOODF7b2/suSRV9a0KC/o19Bhrg+2mATD3bgFj89pntsduAUwG6GLtMPdqAUu/1tBZz8x26/x4KvyrdiF4aVdYh3VKt02+RZtVQCossPMIjI2q8yFCREREFIFBqRIs4PTJj7wIwKBKFYiIiEq6bqMtOLTFj04jLKhcN9SwPC+6XmbFop/cOLglgB3/+QANWDvTi83zvfC6eqRb1h6nU43V963zY9ZnLjTtaUaFWsZ0ASm13KOj0pqmZ8XUsZEKSnmmrYS5T0voo0NZXdLDyvXTAnXeULcybNf2VVlaRERERJQeg1IlWMDpVwMY0HEYiYiodChX1YCbPozJ9+3scXq0H2rBst89+PbBlAz3qVdN1Gu1MqFmMwNiq4TK6L55IBk7l/sx6eVU3PhBtJrNL1JOASlh6tQI3umrEdgbD89f/8F2ZW9V0uccPwtw+2BoWA32R0cWuGwvsO8Y9DsOQOteDojijCZERERU+rC5QQkWcIV6SgX1ef8lmYiIqLTqMdYKw+nfaaLK6VS/qFs+icaDE2Mx+F676jUlQS8p7ZPT8EftMNuAvWv9WD7pzMx9kfZv9OPvd1Kxb32oZD6STq+D9bLu6rx33gYE4hOhJTtVc3RYTKoksKABqeDJFDhf/R2Wn5Yg5aGv4F2U/cyARERERCUVU2xKsKA3CH9Qj6Cew0hERBRX3YBbPo2BO1lD3XbGXPtRxVUz4KI7ojDlLSdmfOxE4+4mdVm4Ufnin92Y8ZFL9aBa+qsH9dob0ed6m/pfglrC2LwWjC1rw79hHzyTliDqtkFwPHm5ynIyVI5Vy/h3HYF37noYalSAZVD7PA2Ue+IiwOuHZtBD5/VDXy2OA0xERESlDjOlSrCU5m3wzrax+E8X+pWWiIiorKvR1IgGnUx5apAupHdVnTZGeF3An6+kqmCUKzmInx5PwbT3QwGpGs0MKgNr9yo/vro3GZ/fnoyti71qWaGypXSA77/t8O85Cp3JAGODqmnrUDP7Ld6S52wnv8zYt2ybuk/PbRci6snRMNSrErqvFBfcU5bDt2JHgY4PERERUXHCoFQJ5vWEPgybrBxGIiKigpA+UiMes6vZ/nau8GPGxy58fGMSNi/wwWAChj0chds+j8H9P8eqGf5kuf0b/Pj+kRTM/tyl7sNQqxJMXZuo2ftkxr+MTK3rAgY9godOInDkVI7bIz2p3D/9G7pdz+bQasTBUKdyWmaW799N8ExaCvfk/9KCYkREREQlVYGiGfv378eBAwfS/v7vv/9w//3347PPPivMbaNc+NzhoBQPFRERUUHJTHz9bgnNnLfwBzdOHQoirroet3wSg84jrCogJL2oLn7Qjgd/LYduYyxq2QXfurF3bajXlHVMT2gBDVqiM9P966IsMDarGXrvXrUzx23xr92tGqfDZob50i6Zrjf3bqn6VQUPnoB/4z4OOhEREZW9oNSVV16JuXPnqvNHjhzBgAEDVGDqiSeewHPPPVfY20jZcKxfg0trzEdN3ZkAIREREeVf98utqNUi1E+qWS8T7hgfo0oBM4quqMeQ++xoN9gMSVT67YVUeFI16GOiEHVDPxhqV8ry/k3tG6j//bkEpYxt68F220DYLr8Aumgb/N7MAS5zrxbqvMz8R0RERFSSFahD9oYNG9C5c2d1/pdffkHLli2xaNEizJgxA7fffjuefvrpwt5OyoL5xDE0jD6ATfrQr69ERERUMHqDDte/F4P4XQHVQypcLpedIfdHYdcqv8qqmvaBU83klxNj2/rAd3MR2B2P4Mlk6MtHZ7mcrNfcuTECfg1f3J6EA5vMMNsSYI/Tw15Op/6vVaMx2urXwr9pPwL7j6nyQSIiIqIykynl8/lgsYRS12fNmoVLLrlEnW/atCkOHz5cuFtIOQyEX/2nM3P2PSIiorNltupQs/mZmfVyYnXoMepJO2TRFZM92LooQ0pTBvrYKBgaVlPnfat3Zbo+eCoFmtOT9vfSX904sCmgzksTdgl+yd9bF/kw6xcTkqvVU9d5mC1FREREZS0o1aJFC3zyySf4999/MXPmTAwaNEhdfujQIVSoUKGwt5Gy4w8FpcCgFBER0XlXr70J3S4PNXb845VUpJ4KZlpGZvILBk73gGzXAPrq5aGzmNMto7m9cH01G8mPfwffhr1IOhbEnC9DTdR73eLHfROiccun0bjyFQc6DAv9KDh/V1P1v8z4FzyZcs73lYiIiOhcKFCKzauvvooRI0bg9ddfx3XXXYc2bdqoyydPnpxW1kfnnu50UEpvZaYUERFRUeh/qw07lvkQvzuAya+nYuQTDuxe7cPO5T7sWO7D8b1BtOpvxphxDpgHtIFlYLu022rBIHyLtsA9aSm0xFQ1Q5+U9U3/0Kmyo2o2N6DlRV6Ur2pAxVr6tEDYhjlebNkdhwEX1oSjrgOquRURERFRCVSgaEafPn1w/PhxJCUlIS4uLu3yW2+9FVFRUYW5fZQDXeB0+Z7VxONERERUBEwWHUY9bcdntyRh03wftiw8hWCo6i7N+lle9LrGj6oNz3zs8m/aB9fPCxE8cEL9ra8UA+uVvbHvSDTWzUxWZYFDH7RBpw9lTIVZ7Tp0utSiZgmcfPxC3Px87PnZUSIiIqLiUr7ncrng8XjSAlJ79+7FO++8g61bt6Jy5cqFvY2UDf3poJSBmVJERERFpnpjI/reZFPnJSBVvoZeBY6ueNGhZvITC390py3v33YQqW/+GQpI2cywjukBx/NXQ9+8Dqa85VTLdBxuQfUmWf922G20FQYjsHddAPs3nC7lJyIiIiormVLDhw/HyJEj1Ux7CQkJ6NKlC0wmk8qeeuutt3DHHXcU/pZSJrrTP8XqbcyUIiIiKkq9rrGiTmsjYivrEVfdkHZ5uap6bF7gU9lS/W8NIMbmgfODqapUz9ynFSyXdILeEQpoLZvgVmWAUbE69L8tdFlWYirp0WagGav+9mLhjy6MudMD77+bYB3dAzrjmXWfD9KgHXq9auROREREdF4ypVatWoULLrhAnZ84cSKqVKmisqW+/fZbvPfeewW5SyqAmTGj8daWKxCsVJ7Hj4iIqAjJjH1125rSBaREjaZG1O9oVBlUiya4VfDG/n+jEP3ytbBd2SstIJV8XJqbh7KkBtxuQ1RMzh/ReowN3W7rAg+SX/sD3llr4f5tMbTz2F8qmOJGyjM/IeWFn6H5M9QsEhEREZ2roJTT6UR0dLQ6P2PGDJU1pdfr0bVrVxWcovPD5wGCMMBkLdAwEhER0XlwwVWhANLKvzxwJgZhqF4e+gqhz1Fh0z50wuMMNTdvf3Fohr2cVK5nQJMeJgQ0PbZEd1KXeWesgeePZTiftFQ3tJMpCB4M9cYiIiIiyo8CRTMaNmyIP/74A/v378f06dNx0UUXqcvj4+MRExNTkLukAvB5Tk8xbdXx+BERERVTDToZUa2xAT43sPQ3T6brF/7gwroZXtXc/OIH7dDr8/a+3vNKq/p/+uJa0F0aymD3TFkO99/LcT7oHVYYW9RW5/07j5yXdRIREVHpUqCg1NNPP42HH34YdevWRefOndGtW7e0rKl27c5MdUznlvd0z1QGpYiIiIp3ad8FV4UCSMsmuuF1nSmxW/6HG9M/Cs2w1/92G2o0y3u7zzptjCqzyu8Flh9prHpKCc/vS+GZvrrA2xtMdsH55Ux4l2/Pddmjvorq/8AuBqWIiIjoPAWlLrvsMuzbtw8rVqxQmVJh/fr1w9tvv12Qu6QC8LnDmVI8fERERMVZ8z5mxFXXw5moYdXfoWyptdM9+OsNZ1qj9F5XZ9/cPLtgV88rTzdJ/90DXe92sAzvov52/7IwLagk/Z78Ww7At3KHOmkeX7b3qQWCcH7wN3yLt8Dzz8pse1TJfZ/4ezMWzbWrv307GJQiIiKi8zT7nqhatao6HThwQP1ds2ZNlTVFRVC+Z2H5HhERUXFmMOrQY6wVU950qobn0RX0+P3FVEjMp8tIS46z7eWkWS8TytfU4+SBIGZ/7sSgezoBPj/82w/B1LJOaCGPD6mvTzqzLfWqwP7gcOiiMveuck9cjMCOw+p81I0DVOArIwlUef5cBuPhU4g2tg9deCwRwRRXWuN2IiIionOWKRUMBvHcc88hNjYWderUUady5crh+eefV9fR+WEvp4c9TgezjUEpIiKi4q79UAvs5XRIOBzEhCdT1Ix8bQeZMeSBqCyDP3mhN+gw5L4odX7xzx5sX+qDZWQ32B8aAZ3NHFrIZoG+WhwMDaqqQFRg91GkvvmHalIeybtsG7wzQmV/UXcMhqFmhSzXGdx3DMHDpxCAAesTG+KkJ9S0PbDraIH2gYiIiMquAgWlnnjiCXzwwQd45ZVXsHr1anV66aWX8P777+Opp57K8/28/PLL6NSpk5rJr3Llyrj00kuxdevWHG/z9ddfqw9ukSertWzWr939bSz+b0ocKtRMP/00ERERFT+S2dx1tDVdltOlj+W9sXl2mnQ3o+tloayn319IRcpJDTrTmc8GOr0O0S9cDcfjo2H/30joHFYE9sQj5Y0/VHaTCOw/BtfXs9V5y5AOMHVsqM5rLi8Ce+PTrc+7JPRZbWdKDXiDJqxJaIwt9vbQVyl3VvtBREREZU+BglLffPMNvvjiC9xxxx1o3bq1Ot155534/PPPVdAor+bPn4+77roLS5cuxcyZM+Hz+dRMfqmpqTneTmb4O3z4cNpp7969BdkNIiIiovNKSvWqNzGg5YVmjBnnUGV9heGiO6NQpaEBqQkafn8hBcFg1r2gDLUqwv7ISOiibSrjyf3dPBWYSv1gKuD1w9iyNiwjuqplJXCV/L+vkfrB36ovVbjnlO+/ber8hoR60BuAVaeaYv7e5jAwKEVERETno6fUyZMn0bRp00yXy2VyXV5NmzYt3d8S0JKMqZUrV6JXr17Z3k6yo6SfFREREVFJYovR447xseckC2vMsw58clMidvznx+IJ7rQm6BlJWZ79kRFwfTcP1isuUJfpK8ZA0wG2WwZCpw/9ZqmvUR4wGaGdTIFv6VaYezaHf/MBaIlO+AwW7EmphlYDzVg304vk4xqSjgURU6lAv3cSERFRGVWgoFSbNm1U+d57772X7nK5TLKmCioxMVH9X758+RyXS0lJUX2spH9V+/btVelgixYtslzW4/GoU1hSUpL6X25bkvpfybZKY9GStM1UeDj+ZRvHv+zi2Jdt+R3/inV0GHSvDX+97sKsT12o09aAGk2z/qinqxYH2yOXyi996m/b/cOgJaYCUeYz6zPoYR7QBp6Ji+GeuhKGro3hXbpFXbXDVQdBGNCslxFHdviRujcFx6ceQdSwWtCXC83IR+d3/Kl04fiXXRz7si1Yil7787oPBQpKvfbaaxg6dChmzZqFbt26qcuWLFmC/fv3Y+rUqQXe4Pvvvx89evRAy5Yts12uSZMmGD9+vAp+SRDrjTfeQPfu3bFx40Y1A2BWfavGjRuX6fJjx47B7U7f4LM4k+Mj+ysPUP3pXzCp7OD4l20c/7KLY1+2FWT8a3UB6ncxYtcyPX5+KhltLg6oEju9MXQy2zTUaqPBeLoHeibxoR5TaZpXhtVmAo4m4OTc1TAcT4R0q1p9uC70Bg3RtRNQvq4BfXyLUGFBPE5V7IhAh3qZ79ftg+5kKrTK0YCRvTDP1fhT6cHxL7s49mVbsBS99icnJ+dpOZ0me1sAhw4dwocffogtW0K/mDVr1gy33norXnjhBXz22Wf5vj/pT/XPP/9g4cKFWQaXsiN9qGTdY8eOVbP/5SVTqlatWjh16pTqTVWSHpwSSKtUqVKJf3BS/nH8yzaOf9nFsS/bCjr+zqQgPr4hGUnxWX/E6zLKjCH3h2bsywvP5P/g/Ws59LUqIuqpMVj1/QlM/syAuu1MuOE9B1ZM9iDx68XoXGETTL2aw3pN33S3l4+azhcnIigN040G6OtUgrFFbViGdUJh09xeVXKoM5T8z0p8/pdtHP+yi2NftgVL0fd+ib3ExcWpIFtOsZcCZUqJ6tWr48UXX0x32dq1a/Hll1/mOyh19913Y8qUKViwYEG+AlLCZDKhXbt22LFjR5bXWywWdcpIBrikDbL00iqJ202Fg+NftnH8yy6OfdlWkPF3lNPjurdjsOgnF9wpGoJ+IOAHfG4Ne9b4sfIvL/pcHwVH+bzdp6V/G3hnrEFw/3EEN+3HlvUV5GdBNO5mUttVs7kJm10V1bKBXUczbatv/d5QQEr4AwjuPIKgJXTbwhQ4dBIp4yaomQOjbrkIpQGf/2Ubx7/s4tiXbbpS8r0/r9tf4KBUYZBfzu655x5MmjQJ8+bNQ716WaR75yIQCGD9+vUYMmTIOdlGIiIiopKmcl0DRjzmyPS567Nbk3BgUwCLf3bjojvyli2ld9hg7t0S3pmr4dsRj92rQr92NupqUv9XqW/AsYAEqoDAwZPQXF7obGfqA70zVqv/zf3awNyvNQI7DkNntxbavqatZ9FmFfSSpuyBYZ1gqBpX6OsgIiKiwlWkobe77roL33//PX788UdER0fjyJEj6uRynelncO211+Kxxx5L+/u5557DjBkzsGvXLqxatQpXX3019u7di5tvvrmI9oKIiIioZPzyesE1oRn5/pvkgTsl6wakqQlBTHopBWtnnGl/YBncHo4XrsbB6m3h8wAxlXQqGCUMRh1iG8YgyRclfSEQCGdFSZBq/zH4N+1XDdUtA9rAUKUczD2awdS2HjSfH95l29QsgAXsJpGOZHKp/YyzQx+d9cyDREREVLwUaVDq448/VvWFffr0QbVq1dJOP//8c9oy+/btw+HDh9P+ll5Qt9xyi+ojJdlRUqe4ePFiNG/evIj2goiIiKhkaNrThEp1DfCkalj2+5mgU5gEh/54ORWr/vbit+dSsWmBV12uj4lSmUfbl/jU3426mlWQK6xGUwMOny7h8+86kna5LtYOy9COMPdqAX2l2PQrC2pwfT0b3nnr0wJKWZHAVm5BKy0QhH9H6POi/b5LzkkmFhERERW+fJXvjRw5MsfrExIS8rXyvPwqJmV9kd5++211IiIiIqL80et16HWNFb89n4olv7jR/XIrTJYzwSVpWr5lYSjwJB/TJo5LwS0fx6Ba49BHxm1LTweluoRK98JqNDdi96yKaBKzD4GdZ4JSEsyyjgzN1JyRzmKCsXkt+Nfshm/1LhhqV8q0TOBoAlKenQB9lXKwPzICOocVOlPmj6+BfccAjw+6KAv0NUKlhERERFTKMqViY2NzPNWpU0eV2xERERFR8dSqvxnlquqRekrDqilnsqWO7wvgn/ec6vyAO2xo0NEInxv4/tEUJB8P4uTBAE7sD0JvABp0Sh8YqtnMiB0pNTH1aA+Yx1yQ6zYE/Bo2/+vFfq2W+tu3ZneWy/mWbVP/B48mIPnhr0KlgFnd39aD6n9D4+oqmuZbvh3OT6dBC2ZdokhEREQlMFPqq6++OndbQkRERETnnPSA6nmlFVPecmLhj250HB6apXjicykqCFW/g1Fd32m4RTVGP74viB8fS0bLC0PNy2u3MsLqSP+7ZvmaenisMdh0KhrHEuyoFuuF84uZqkG6sWVtVeonGfKHtgawZpoH62Z64UzQYDNUwp2NdAjuO4bg8SToK56ZMlqW9y3bGvrDZAB8ARWUMrXJPDGO3E7WY2xZRzU7d347F3B6YOraJMvliYiIqHgo2XMMEhEREVG+tb/YAnucDglHglg/y4u54104uDkAW7QOI590qDI/W7QeV78eDVuMTs3YN+NjV7pZ9yJJ0En6SokDm/xqJjz/6l1w/zhfZS5Jb6oPrknCJzclYemvHhWQMhgBV8CKE4bK6na+temzpVSg6kiCCkjZru6jLssuU8rUsSHsDwyHpW8rVRZoviDUa9Q7ay0fHURERMUYg1JEREREZYz0keo2JtQMfOYnTiz4zq3OX/I/O2Irn/l4WKGmAWNfdKiSvWAA2QalRM3mRsSZkmBcvBLuHxeoy8wD2uLoriB+eToF8bsDMJqBlv3MuOYNB+74KpQVtfFoDfW/9JWK5F0aKt2TmfqMbesDOiB46CSCp1Jy3T/Lha3VjH8SxAocOlmQQ0RERETnAYNSRERERGVQl5EWWOw6JB3ToAWBtoPMaSV6keq1N+GSR+zqfFx1Pao2DGVEZVSjmRFVrCfR4OQq9bfMgKfv3BQTn09FwAc07mbC/yaXw+XPOdC4mxlV6htRqa4e2xNrhu7A41ez6AnpBeX7LxSUMnZujMQkE/R1KmeZLSXN0IMJqZnL+dqFyvaYLUVERFR8MShFREREVAZJX6jOI0L9pMpV02Pog6HAU1Y6DLPgpg+jcd3b0apULyvS7Pywu2La36YLmmPud34c3RGAvZwOIx63q5LASM17m5Hgi8bsSmPgeGI0dIbQ9YHth6FJoCnKgtXbq+Kt0Yk4qqueZVDK/dsSJD80Hp7Z6Uv1LP3bqv+9S7ZASw1lghEREVHxwqAUERERURnV90YbBtxuw3VvRcNqzzrYFFa3rUmV82UnuqIeWjkH4t1xCNqsOFazpWqkHi4LdJTP/LFTglJiw3ITvG4t7XJDo+qw/2+kmslv/g9eddmanWcypaQJupD/A9tPz7xXu1K6+5aZ+PQ1KwBeP7z/bsrzMSEiIqLzh0EpIiIiojLcW6rXNTZUrJ19sCk/ajQz4ce9F2Fdq8sw8a1QWWC7wea04FNG1RobUK6qXs36t2OZD5rLC80fgE6vg7FJDWx11kfyiVAAasP28kD7JrCO6g6cLvMLHjkFLcmlmqEb6lZJd9+S0SXZUoaG1aCvXr5Q9o+IiIgKF4NSRERERFQopNm5XzNizg8aTh0KIraKHkPuj8p2eQkcNe99unH6b7ORdN/n8G8+kJYFteTnUKaVVAwGNAO21+oFc89m0BlDQbTAtkPqf0P9qkg6pcP7Vydi+ofOtEwqU89mcDx2GUyt63KEiYiIiiEGpYiIiIioUEizcxGeqW/Uk3bVuyon4Syqk0cl8hSE853JcP04H/sXnMShraEZ+7qODvW+2rrYl+62/tNBKWPj6lj+h1vN8Cclg4t+Cgezci5JJCIioqLFoBQRERERFYoaTc+UAXa/3KJm7stNrZZGOMrrsPXU6Vn4pDn57HVY91eyOt92kAXtBoeCUjuXe+HZdQye6auh+fzwbw31k9I3qo61M0K9p8SMj1zYtODM38FEp2qELqWBREREVHwwKEVEREREhUKyonpfZ0WrAWb0vy0qbx9GDTo062XGfmf6nlD/LY1W/3cbY0XVRgbEVNKp3lOpb02G+5eF8C3dBu1UCmDQ45CzIhIOB2GJAtpfbIZU700cl4JDW/2qlC/lhZ/h/nEB/Bv2caSJiIiKEQaliIiIiKjQ9L81CmOedagm6nklJXzSM2qXu5b6e3/l1tA0HRp2MaFyPYMqw2vcTcr8dDhhrqaWCeyNh+2Wi2AZ3gVr54R6SLXoa8Ylj9jRsLNRBbC+/18yko9rMHVoqK73Ld2S43YEk13MpiIiIjqPGJQiIiIioiJVr70R1mgdpu7rgoRefTF5RQt1efcxobI90bh7qBRw85FQRlVg91GYuzaBoX8HbJgTKtVrM9ACg1GHy593oFJdgwpISWBK166xut63Zrea4S87rq9nI+WpH+BduBna6Rn+iIiI6NxhUIqIiIiIipQEkpr2MMEdtGDCxBpwOfWoVFevMqXC6ncwqabnmw6eDkrtjUcwxaWan7tTNDXTX912xrQywmted8BeTofD2wKY/EMU9FXLAb4AfKt2ZrkNwRQ3AruOIBifCNdXs5Dy5PfwLmJwioiI6FxiUIqIiIiIilzzPqFZ+FJOamm9pCJnz7NE6VC3nQmp/ij4TVZAAzxTV2LtNI+6vvUAM/T6M8vHVTfgylcc0OmB9bN9cDdspC73Ld2abr0S2BJ6hxXRr1wH6+ge0DmsoeDU+FlIGTcBWmpoNj8iIiIqXAxKEREREVGRa9jZBLMtdN4Wo1OleBk16RbKnDoViFX/e6evxrYlPnW+zcBQUCtS7VYmtOoXunzxllC/Kv/mA//f3n2AR1GtfQD/b2+ptCS00DsEQu8gXTrYC9jL1auI7UOv9erFi12vYhcVbKiggIjSe+9VSiCUhARCyvYy8z3nLAmEJBAgJCT7/z2OuzttZ/dkltl33/MeKJkOeV/1+mH/949wvD9bjtCnMRlgGpiI8P+eDk7ZzFCOnoRnwdYr9bKJiIhCGoNSRERERFTmRGH0xt2CAaQOI00wmgsWSs+tKzX7QAdo4irjWEJvKAEgrpEOMfWCXffO1WOMWd5uWGGBUjMG0GpkNz3B8/t6qCeyETiUDo3pzPYas1EGp8y39pSPRZc/MYpfeaH6A+etnUVERHS1KPxfbyIiIiKiUjZ4nBUN2hvQqn/BrCehUg2drDWVfjACh3qPxsrvRbe6AFoXklWVSwSrmvYwYNdSH1YrXTDgrSqyq17geCY8czfKdSw3dZeBqHMZ2jUAVFXent2VsCSoHp/MzLoSASnHGzMQSD6B8JduhrZqMKuMiIjoasRMKSIiIiK6KtiitEgcbILeUHQAqFHnYPBo9XQPjuwMyJpRLfsVHsTK1XNMsF/g6iVWZGUbZNaT+7ulgD8AfbNa0LetX/iGWg0MHRtBo9ehJLjnrId/z1H4D6QiZ8LX8G0+gJLm+WMjAntTAI8P3mU7S3z/REREJYmZUkRERERUbjTuYsCK79xI3ubPq0UVXvn8v7PWaKpHgw567Fvrx7Jpbgzqexz+bYcAnVZ20RNZUIe2+rB3tQ/ZaQqyTk/ivjlMg/s/jUBEVQ3ULCe00WGXdNwyM+uXVfDotDC0byj35Zz8B2yPDpWBsZIQOHISnt/W5j32rtoN04hO0JxVAJ6IiOhqwqAUEREREZUbtVvpZaDIbQ/WeEoooqvfuXqOtWDf2hzsn3cCzt1z5DxRN0obE4UlX7uw4BOX6KlXgM+jYtPHyWjrXApNpA1hE667pOP2bz0ob3UNq8NyV1+oXh/8Gw/A8b85sD0+Avr6sbjcbntitEAEFOhbxkMbFw1jx8YA41FERHQVY1CKiIiIiMoNnV4js6O2L/TK0fqa9iheUKpOawPiW+lxdJsFbmM4rFUM0PRpi+kvOrBtfrAoeLNeBlRvrEdkjBaRVbVwZKn44V92rFtsRJsGdiA9G/59KdA3iLvo4/ZtSZK3hoQ60Oi0sN43EM73ZsG/8zAc7/yGsKdGQlerKi5V4O+jCCSnAVYTLHf0gTbKdsn7IiIiKi2sKUVERERE5UrrQcFAVOIQE4yW4qcC9Rxrhl/V45O/h8B+y3X44jGXDEhpdcCwJ624+dVwWX9KFE6vm2hAi95G1G2jR7bHgtSwYN0pz7xNhWYpKRk5RT6vGAkv8PcxeV+fUFfeagw6WB8eDJ0IcDk9cH48D2pAwaXSN6sN29OjYb2rLwNSRERUbjAoRURERETlSuMuRjz+cyQGPmy9qO0adBSZUDp43VpMvs+BY3sCsEZpcOd74Wg/wlzoNr3vChZJ/3NbI3nr37Rf1ofKFTicjpxnpyLnySnwrtxd6D78O5JltzrRVVAXE5U3X4y+Z3tkCDQ2M5SUU/Ct2oPLoW9YHYY29bD0GxemPZ0D184UOL+YD+/avy9rv0RERFcKg1JEREREVO5ExepkV76LIQqa97g9GGRSFSCmgQ4PfBYhu/YVRWRM1WmjR5ozChlhNQEV8P61OW+5tkok4Ap2/3P/ukZmTZ3Ld7qelD6hTsFjsplhGt4Bxn6tC11+PmIUQc/i7Qiknsqbl/K3H/M/dmH3ch+OzUmCb8UueJfsuKj9EhERlRYGpYiIiIgoZDTtaUCn603odJ0J906OQHSc7oLb9L4zGMhasKexvPUu2gbV6ZH3NRYjrI8OhSbcAvVENnyFZCUFktPlreF0171zmfokwHJTd2jDg89THP69x+CY+BPc3yyC/cXvEEjJkPPnfejMK9i+PjkY5ArsPgLlRHax901ERFRaGJQiIiIiopCh1WoweJwNgx+zwWQtXqZV3UQ94hP0OJQTgxxLFTnPf7pGlCBGzjP2by3ve37fAFXJP4xf2PM3wfbcDcH6UcVw7vZnE8Enx/uz4XjtZwT2pwJGPUxD20MbG419a3zYv84va2QJOzabgfo15H3v6svrGkhERHQlMChFRERERHSBbn/B2lIafLe7B3DrQOib1sy3jql3KznynagN5d+4P//2Wg30dWLgD2ix8nu37GJXmMDBNNjfmAHPHxsKLFO9frimLYH9+W/h35wkDgqGHs0R/p/bYR7cXnZHFFlSgsgCq9lMJ+cdszWQ83wrd8vufkRERFeTMg1KTZw4Ee3bt0d4eDiqVauGESNGYM+eC/+KM336dDRp0gRmsxktW7bE77//XirHS0REREShqV5bPWq30iPbZcHyrdVlkfKziW58pj6t5H33nPV5AaCzA0GLvnBh7vtOfHxvNlZ874JyTkaUyIIK7DoCz9yNed0Dc4nMLO/CrYCiQt+6LsJevgXWsddAGx0ml2/504vUfQGYwzXoeYcFLfuY5PzVu2rIbCrleGYws4qIiOgqUqZBqSVLluChhx7C6tWr8ddff8Hn86F///5wOBxFbrNy5UrcfPPNuPvuu7Fp0yYZyBLT9u3bS/XYiYiIiCjEsqVO15Za/6sHW+Z54PPkDyoZ+ybA0KGhDBaJ9ZVTduSM/wLOLxfAbVew7tdgoCngB/5434WpT9rhOKXkbW/o2Aja6pUApwfeeZvy7dvQojZMozvD+tgw2P45BDqx3mniOBZ86pL3e95uhjVCixZ9jCKZCge2aYDm9YLrFTE6IBERUUgGpf744w/ccccdaN68ORISEjBlyhQkJydjw4aCKcu53n33XQwcOBBPPvkkmjZtin//+99ITEzE//73v1I9diIiIiIKLfXb61GntR5+L/DTyw68PjwTc952IGVvsDueNswC6/0DoatTTT72bz0INdsJJSUDm+Z64c5RUbmWFkOfsEJvBPau9uGDsVk4sMEn19dotTCP7CTvexdsgX7RLigZOXnPb762HQwt4gsc16rpbmQdVxAZo0XH68xyXkRVrayDJSRp6kNbLRLa2Cj52LdhHxzvzULOS9/D/soP8O85esXfOyIiosIE/6W6SmRlZcnbSpXO/PJzrlWrVmH8+PH55g0YMAAzZ84sdH2PxyOnXNnZwZFHFEWRU3khjlWkf5enY6aSw/YPbWz/0MW2D21s/6vTTf+xYvVPXmya40HWcRWrf/LIqUZTHUY/b0XlmmdG8/OK2k8iWNU8Hiu/ccv7nW80od1wI2q10GH6Cw6kH1Iw5dEc9LzTjJ5jTdAm1IE2vhqUQ2kwzN8O1740WJ8eBY2+8FECHZkKln4dzJLqc48ZOoO4XgxmcDW/xoCDm/1YtbEKWn5yazB7S1EQyMiBf8vBM/t4dxasjw+Hrm7MFX3vqPh4/ocutn1oUyrQ9/7ivgb91XTA48aNQ9euXdGiRYsi10tNTUVMTP5/MMVjMb+oulUvvfRSgfnp6elwu4MXB+WBeH9E0E78gWq1rE8fatj+oY3tH7rY9qGN7X/1aj4YaDoQOLJVg50LtEhap8XRXQF8968sjP6PHzqnC4a/tkO/NRj42ZERicwUBeYIFTUSs5CWBmjCgZH/AZZ/qcPO+Tos/sKN5B1O9PmnH+ZrmsD0ZRpUrQauljXgOHlCFjYvzLIvdPA4dKhSV0Fs60y571zVWojsKwOO7Vawd2s6ok4P/qeJsUE7vC3UCAv0K/+Gbn8aHG//Cs+9vaHGRJbKe0jnx/M/dLHtQ5tSgb735+ScyfQtF0EpUVtK1IVavnx5ie53woQJ+TKrRKZUrVq1ULVqVURERKA8/XGKX7fEcZf3P066eGz/0Mb2D11s+9DG9r/6xcYB7QYAmakKProrB+n7tdgzLwI9hpnh2HgmE2nDcvGDqoJOo82oXis63z5ufAHY1N6DWW+4cGCNFo50M26e2Azmx6Nxyu9ClWb1i7z2+3uVD9vmBmuxXvtIOGJi8xdfRzVRoN2O/ev8SNkSgUYJwa59qFYNaBEclU/t0BTOt3+DcuA4LF8th/WpkdBWC3bzo7LD8z90se1Dm1KBvveLgenKTVDq4YcfxuzZs7F06VLUrJl/eN1zxcbG4vjx4/nmicdifmFMJpOcziUauLw1svjjLI/HTSWD7R/a2P6hi20f2tj+5UOl6loMHm/FTy85sOQrN5p0i0BkYj34Nx6Au2UzHJ2uyBpSHUdbCr2OazvEgqp19PjuGTuOH1DwyX123PDvGNhqnCry2u/4AT9+etEBVRHbm9CwQ8HrXaFVP5MMSm1f4EPvO6wFV7CaETZuGOyTfpEj+2lNRl5rXiV4/ocutn1o01SQ7/3FPf4yfZUiJU0EpGbMmIGFCxeibt26F9ymc+fOWLBgQb55YuQ+MZ+IiIiIqCy06mdEs14GKAHg5387YLitL8y398LiowlyeetBJoRFF33pXbuFAQ98FonqjXVwZqn4+jEHtszWQgnkH+FPECP2TXvaDo8TsvD6kCcKCTad1rSHATo9kHYgIANZhdHYzLCNHwHbU6OgjQ67pNdPRER0KbRl3WVv6tSp+PbbbxEeHi7rQonJ5QoWaxTGjBkju+DlevTRR+WofW+++SZ2796NF198EevXr5fBLSIiIiKisvple9gTNtiiNUhLCmDRtACy6zbD9pXBy+0uN164G0NkNS3umRwhA1wiuLX8Sz0+f8iO1P1ngkl+ryozqk4dUxBdXYubXg2D3lB4vSnBEq5Fw07Bbn3bF3iLXE8baYU23JL3WIzQp+ScuSYnIiKqcEGpyZMnyyJevXr1QlxcXN70ww8/5K2TnJyMlJSUvMddunSRQaxPPvkECQkJ+Omnn+TIe+crjk5EREREdKXZorUY/rRN3l/xrRu/vhas99S4qwFV4wsfPe9cBpMG171gw+DxFhgsKo7sCGDyndn46yMnfB4Vs95w4NBWP0w2DW6bFA5b1IUv51v2NcrbbQu8sqfC+YgsrG1vbYNz8lw43pjBwBQREV1RZVpT6kL/KAqLFy8uMO/666+XExERERHR1aRpdyPaDDJi01yvDB4J3W4pXrHXs7OuOow0oUqTLKydasOupT4s/caN9bM8cGaq0GiBG1+2oVrd4gW6Gnc1wmBy4ORhBUkb/ajX9pyC6GdlYU19KgfOfWG4pYEF5iMnZWDK9sTIfFlUREREJaV8V84iIiIiIrrKDHrUiohqwcvsGk10iE+4tN+BwyoDN71qw83/CUN4FY0MSMn9P2JFw07B7KfiMFk1aNkvuP6Pz9uRcTRQ6Hpz3nbiyM4AMryR+G5/H6hhFigiMPXmTCh2duUjIqKSx6AUEREREVEJEnWcbvy3DXXa6HHtOKvMfLoczXoa8ci3Ueh9lxmDx1nR6brCR9o7n2sftSGukQ6OTBXfPJEDZ7aSb/n639xY/5sH4lCr1NbipCcS66sNgibCCuXwCTjemAnllP2yXgcREdG5GJQiIiIiIiphYjS9u/8XgdotC+8qd7HMNg2uuduKTtebLynIJbKlRA2qyBgtTiQrsli66K4nHN7hx+y3nPJ+n/ssGPbU6bpY8y3Q3Dc8LzBlf/5bqP7Cs6yIiIguBYNSREREREQhIKKqFre9HiaLpB/c5MeMiQ7YMxR8/2wOAj6gaQ8DetxuRp3WetRspoPfC6xeaoXtyZHQNYiDvk09aPS6vNqwru+WInDkRFm/LCIiKscYlCIiIiIiChGx9fW4+dUwaHXA1j+9+GBsFrLTVVSJ12LUv8JkFpaYut8WLGy+doYH/shohE24DpYxvfP2E0g6Du/8LXB+Mb8MXw0REZV3DEoREREREYWQ+u0NeV307BkqTFbglonhsotgribdDbK2lDtHlfWmhNwsKUE9XZJKOZQOJctR2i+BiIgqCAaliIiIiIhCTNshJvR70CJHCbz+xTBUjT8TcBK0Wg263RLMllrxvTuv/pSQc0LBN+9YkeqqJB/7dySX2nGrbi/UQP4i7UREVH4xKEVEREREFIJ63GbBE79EonFXY6HLEwYYEV5Fg5wTKrb86ZXzDmzw4cM7s5C0yY8kR5yc51p3qMjnUBUVrqmL4fhwLnwb9l1yoXQRiPIu2Y6cCd/At3znJe2DiIiuPvqyPgAiIiIiIiob5xvJT2/UoMuNZsz7wIXl01wyQ2rh5y7Zda9aPR2yUBPADgR2JUNVFGi0BX/vDvx9FN5F2+R9/4Z90NjMMHRsCEOXptDVqXbBkQRFQXX/tkNwT18B5ViGnOdduRuGHs3FQnhmrIaxV0toK4df9ntBRESlj5lSRERERERUqHbDzTCHaXAiWcGCT4MBqcTBRtz/aQRq9K8Bd8AAnc+DwMG0Qrf37z4S/NJRszI0UTaoDje8C7fB8cqPcLw584KZUyLo5Hx3lgxIiYCW+abucjRAEcxy/7wKnt83wPHWTCg5LrYgEVE5xEwpIiIiIiIqlCh+3mGUCUu/dsNgAoY8bkPiYJNc1rSXGQd+i0WjiMNw70xBWL3YgtuP6ARDuwaAXgdttUj4dx6Gb8UuqE4PTEPaA7qifyNXXV54/tos7xv7tYZ5WAdorMHnFkx9EuBb+zeU1Ew43/0NtidGQmMuvCsiERFdnRiUIiIiIiKiIvW+y4KoGC3qtDHkK4heuZYOs0xtsHhfIgaYYtCqiO11Navk3Te0iJdTUd39ziYCTvD6oY2LhvnGbgW6+mkrhcE2fjgcr/2MQFIanB/8DuujQ/ONEkhERFc3dt8jIiIiIqIi6Q0atB9hLjBCn1CjW1Vk+8Owa6mvwLLzdc27UEBKrmMzQ1urCozdmhVZe0oXV0kGomAyyCws94/L2ZJEROUIM6WIiIiIiOiSNO1hxNJv3Ph7lRd+ryqLo+d2vcv5v6+ga1YbyxwdkbxbA48L8LlVeJ0qvC4V9evkYHiPJBhqRMHUr3WBfYtuf2ISI++d9wtNvVhY7x8A53uz4V24FYb2DaFvWJ0tSkRUDjAoRUREREREl6R6Ex0axKajpX4H0t+PQtzj18j5vk37odrdcO48jhXrRcZUwUwnbUo6Asu2Qa0aAWOfBGi0hWdDac5TdyqXIaEuDF2bwrdhH5RMB1uTiKicYFCKiIiIiIguiVarQb1WGtRPPgrPngyoam/Z1c635m+5fEtqvAxIdb7BhMZdjDBaNDBagcPb/ZgzqTb6KOtgSs9G4O+j0DepKbcRmVG+VXtgaFsfGsuZwuWnUgLYu9qHv1f5cPJIACOfsaF2C0PecsuN3WAe0RHaSuFsTSKicoJBKSIiIiIiumRxfWvB95kOJrjgTz4BXZQN/h2H5bItx+ugci0t+v/DKmtT5apWV4eNs03YfaIOEqL3wbtsZ15Qyr/tEFxfzod71loEHr0Va37xykBU+sH8Naqmv+DAQ19HyhECc2tQiam0BZLTETieCWP7hqX+3ERE5R0LnRMRERER0SWr08GMI55YeT9j4UH41u8FVBUp7srI9IVj8Lj8ASlBZFMNeNiKbVn15WPv+n1QnZ7g/eU75a3SpC4+fSAHK75zy4CUVgfEJ+jR934LouK0yExVMPfdwrvq+bYnw/H+7PMWWy8JYv/2iT/B9dEf8O8+ckWfi4ioImKmFBERERERXfoXCoMG7riaQOZReLccgu9YsDD5rqw6aNzVgIadznTBO1t8KwOi28fixJFIVEEWvGv/hiGxPvxbD8rlv86vjZyTKqrW0aL3nRY06GCAJSL4m3p8Kz2+eDgHG+d40bibF816nHkOUWTd9ek8WdPK88dGmIe0v2Ktq9HroG8QJ0f+867YlZftRURExcNMKSIiIiIiuiyR3erK24icFAQOHIeiarDXFY9Bj1jPu13/f9iwPTuYLWWft0PWkkJAwUlNFew7GIGIalqMfTsCLfua8gJSQp3WBnS9JdhV79f/OmDPODNCn6hDZb6pu7zvEV0Aj5y8oq1rGtZB3vo27ofq8V32/gKH0mB/dip0G4PBOSKiioxBKSIiIiIiuix1+1fBKW+wwHiqtwq2ZjZAm+ujUbmm7rzbVamtg7lrY2T5bNhzPAaeJdvl/A0p9WAO12DMm2GIrFb4V5Y+91gQ00AHZ6aKma85oKpq3jJDp8bQt4wH/ArsE6fDs3ArVOXM8pIQSD0lb3X146CpEgG4ffBtSbrs/To/+wtqWhaMP6+D6vaWwJESEV29GJQiIiIiIqLLIoqNnwyvhWRHDJaltsJapSN6jLEUa9tu91XC1ynDselQDajHM+FTdDLL6tbXwhBTr+hqI3qjBtc9b4POAOxZ4cOGWcGaVLk1qyx39oGufqwMFrmnLYHjtZ8QOFr8rClRvFw5kV3oMv/OZJnN5PxygRhcEMaOjeR83+o9xd5/oftNOg7lWIa8r4aZoGY7L2t/RERXOwaliIiIiIjosin9uuDHw31xyBmHAQ9ZYbLmL25eFFu0Ft1vs6K65YSoj469ObUw7LlKsovehcTW16PvvcHg19z3nNixyAu3I5gRpY20wfZ/18F8a0/AbEBgfyqU09lNFyKCV/bnv0XOM9/As3hbvmWqosD1w3J5X2MyyACYyMwS/NuToeS4cKk8v6+Xt7rmteH+v6HQVou65H0REZUHLHRORERERESXrVlvE5ZO8yCuoQ4t+xZe3LwonW80471fm2Hv/lroc5cJLXoXf/suN5mxZ6UPBzf78f2/7HKUvlrN9WjQ0SCnGr1bwtC6Hnxr9sDQtsEF9ye6AbqmLgZOj9ynMec/Ft+ynVCOnITGapL1pGa94UDyNh1uq1MVSM1A4OBxaFvWwcUKHMuAf+MBed90Q1fYNf6L3gcRUXnDoBQREREREV02W5QWj/8UJYM6InvoYhjNGtzzYTgyU23FypA6m1anwU2vhmHxFBf2rvbh5GEFh7b65bTgUxfqttFj5LM2RA9qm7eN6nDDvzcFhtbBAu1n863cjcDfxwCjHta7+8HQ7kwgS2RBuWeulvdFQOroQT3Wzgh2sdvVsQc6Pl1ZBqsuhefPTfJW36YedNUrAWlpUJ0eeFbuhvGaVnKkPyKiioZBKSIiIiIiKjEXG5DKFRWrk9OlBsQGj7PJ+6eOBbBvrQ971/iwb40PSZv8+GBMFgY9YkPiECPULCfsr/4ob8OevR66+Gp5+1HsLrh/DHbNMw/rkD8gleVEzvjP5X1tTBSMvVti4VNnaj4t+8uK9vcZcamhI/PoLtBG2aDPDZSpKhyvTpdFzzVhZhi7NL3EPRMRXb1YU4qIiIiIiCqM6Oo6tB9hxi0Tw/Hw15Go3UoPjxNyhL5pT9th95mhq1MNCChwfjIPqseXt63751VQ7W5oq1eC/poEBPxnRuzznlVbynxDNxzepcigl+guaAnXIDtNwe7lwX2JDKeLpQ23wDyiE/R1YoIzRK2qbsFAlOf3DSU+eiAR0dWAQSkiIiIiIqqQKtXU4e7/hWPAPyx5o/T9b0w2Ulv0gCbaBiU1E+4flsl1VX8ASkqwELp2dE+8c4sdH96RDWeWIueZhnaA5a6+sIzpDX1CHSz8LFjQPHGwCe1HBLvs7fzpOOz//gH2V36U3RiLQxROL4qxV0vAapLH5d+4/7LfDyKiqw2DUkREREREVGGJmlPdbrXgwS8iENdIB1e2iumT/NDf2g/QAN4lO+DbuF/WbLI9NQq2p0dh9fpKyExVkJYUwA/P2WXGlEargbFrUxh7tsChLX7sX++HTg/0HGuWQSmNFti12Qj/0QwoxzMRSDperOPzzFwD+6Rf4N+XIh/7PCrW/epBdhqgsRhh6tNKznfPWV/sQBcRUXlRpkGppUuXYujQoahevbrsez5z5szzrr948WK53rlTampqqR0zERERERGVPzH19LjvkwhUrqWFI1PF6o2VYRyQKJe5piyEcsouA0/emDis+sEt54uueQc2+DH3vTO1o4SFn5/OkhpiyquF1birAT7VgHRrbbnMt3rPBY9JdXnhWbgVgT1HoWYHn2P2Ww7MfsOFnycYcPJwAMa+CYDJACU5Hf7th0r8fSEiCtmglMPhQEJCAj744IOL2m7Pnj1ISUnJm6pVO1OckIiIiIiIqDB6gwZ977PK+yu+c8PfqwO0tavK0fgCR07I+cu/dcsaVLENdLjxlTA5b83PHqz7NRioOrDBh6SNftkdsOcYc96+O44K3l+993RQau1e2SWwMCLjybc5CY43ZgAuL7Rx0dC3rof9633YONsr13FmavDVODuy7UaZnSW4vlksi7ETEVUUZTr63qBBg+R0sUQQKioq6oocExERERERVVzNextQo6kOR3cFsHSqFwPvHwDHaz/Dt24fPDVrY/VPweDTNfdY0LS7EX3us2DBJy7MftOJqvG6vCypdkNNiIw5M9ZevXZ6mYW193Ac/DXN0Oe4kPP4F9An1A2OrBdplfWj/Bv2y654yuFgEAwGHcw3dofPC/w2ySFntepvQPJ2LzKPAV8+koO7J7WBdvMB6FvEQ2M7EwgjIirvyjQodalat24Nj8eDFi1a4MUXX0TXrl2LXFesJ6Zc2dnZ8lZRFDmVF+JYxS8q5emYqeSw/UMb2z90se1DG9s/tLH9r6y+95vx1TgH1s30oOP14Yh+4w452t28D1zwuSGDVo266GQ7dL/NiOP7/Ni+0IdvnsiB1wXojUC320wFrs3bjzThj/cUrHB0QM/INXIkP9+6vTDd0kOuG0g5BedHfwRXNhlg7NUChv6toY2w4s/JTmQcVRBRTYNrx5lx7LAdv71olvOmPOvDHa+NgjHOLL8T5E6ilEm+v5vUTNkNUd+0Jq4G4lhcH86FoXszGHs0L+vDKRd47oc2pQJ97y/uayhXQam4uDh89NFHaNeunQw0ffbZZ+jVqxfWrFmDxMRgf/BzTZw4ES+99FKB+enp6XC7g7+ClJcGzcrKkn+gWi3r04catn9oY/uHLrZ9aGP7hza2/5UVVguolaDH4S1a/P6/TPQfF4AjA1g7wwBR/bzNaDfS0890k+tyD3D8oB7pB4LX4c36BuBWT8Cdln+/NdsBepMB6/bXQo0Xq6GWLR2aDAfSMzOCK+gAQ9u6UCMt8HduCJfVCLjtSN/pwMrvxVczDbrf7UWWIx1+XRYGPxuFmc8bkX5QwZcT3Bjxkh0mGwC/AuPUFQg0q45A85rQbT0M/eZD0B7JgFLJBs/4QTLIJp9y5V6oUVYoDWIAY+l+/dPP3QJdlh1urxuBtHPeLCoUz/3QplSg7/05OTkVLyjVuHFjOeXq0qUL9u/fj7fffhvffPNNodtMmDAB48ePz5cpVatWLVStWhUREREoT3+c4pcQcdzl/Y+TLh7bP7Sx/UMX2z60sf1DG9v/yhv8iB8f3W3H3mU69LkjEjvnehHwelGrhQ7t+kcWyEK6fZKCTx/Igd8D9L83GuFVCr8mTxjgxIbfvNi7JAxtXo6RI/flnFCRlabA51JRa8wgmKxn9i2W//J/dqhKAC2uMaDDtVH52v+u91V88bAdJ5K0+OUZM4aMt6C2dx/ce1Oh25sKzNoEKKdH5dNqYKhRBRFhkbKbn+rxwf7nNsAXgKZSGKwTroM2SkS1rjxVUeHYeQzqKSciIiNgYB3gYuG5H9qUCvS932w2V7ygVGE6dOiA5cuXF7ncZDLJ6VyigctbI4s/zvJ43FQy2P6hje0futj2oY3tH9rY/ldWjSZGtOxnxLa/vJj9pgspe4NFyUUhdJ3uTK2oXNFxWjwyLRIBP2CLKvp6vNNoswxK7Vziwxsjs2DPUKGe1YvFYAYadzWiVT8jGnY0YM10j3xuS7gGgx+z5V3r57Z/tTpa3PFOOL5+PAcZRxR8Pd6Bln1rY2C/9lD/WicDUrr4ajB0bgxDh0aydlUuRWRU9WgB3/q9UDPs8HyzGNZHhhQIuF0J/r1H5XPCYoSxTX2ZBQao0PC7zAXx3A9tmgryvb+4x1/ug1KbN2+W3fqIiIiIiIguRt97LNix0IsjO4MBqbpt9KjXVnThK5w57MJfsmIbiH3ocWCDX2ZICTo9EFFNK4NTmakKti/wyskcpoHfG1xn4D+tCKukLXKfj3wbhQWfOuVIgNvm+7B3dWMMubEGmvW3wVCzUqHbacMtsNzSA8aezWF/+Qf4tx6Eb9nOUqnv5F29R94a2jaAb9MBeH5dA9OQdjB2aXrFn5uIyo8yDUrZ7Xbs27cv73FSUpIMMlWqVAm1a9eWXe+OHj2Kr7/+Wi5/5513ULduXTRv3lzWgxI1pRYuXIg///yzDF8FERERERGVR5Vq6tB+uAlrfgkOjNTnXkuJ7PfGV8JweLsfYdFaGYyyRYvMB42sE3NsdwBb54uglAfZ6WreyH1trjWed59mmwaDx9nQeqAJs1534OjuAH763Iaaq3QY+qQf1RsV/dVOV6MyzCM7wT19BVzfL5OF0LVVI3GlqD6/LPAuGDs3hv9AKpTjmfD8uRmGzk1KJVOLiMqHMg1KrV+/Hr179857nFv7aezYsZgyZQpSUlKQnJyct9zr9eLxxx+XgSqr1YpWrVph/vz5+fZBRERERERUXL3usuDQVj9qNNUjPqHoLKmLYY3QonGXgkEmEYwRzyOmAQ9ZkLzVj8M7/EgcbCp2oKZGEz3u+yRCjhz418cumeX10d3Z6HSdCX3uscJkK3w/xv6t4duchMDeY3B+Ph+2p0bm60qnnMyBa9pi+Hcfhb5xDdgeHXrJr19kZMHlhSY6DLpGNaCtWQWeWeugHD6BwO4j0Detdcn7JqKKpUyDUmLkPPFrQVFEYOpsTz31lJyIiIiIiIhKgshmeuirK5c1VBSROVWntUFOF72tToOOo81o1tOIue87sW2+F6t+9GDHIi+ufdSGZr0MBYJcIgBlvbsv7BN/hrFr07zR+cT3Me+SHXBPXw64fadXzv98jjdnwnxDV+hqVS3W8eVlSXVqBI1WA02YGcZuTeFduE1mSxU3KOXbuB+q0yu3JaKKqdzXlCIiIiIiIgpFYgTAG14KQ+K1Psx604GMowq+/5cdLa4x4voXbTJ4dTbRZS/8v2OgMQS/BirpWXBOWSizlwRdgziYR3eGxnpm1Cyxjn/nYTg/noew52+Cxnjhr5CWO/pA37oedHVj8uYZ+7aGd9E2mUUVSMmALq7wOli5Ascy4Pzgd3lfE2GBoVWdi3x3iKg8KN/l3ImIiIiIiEJcg44GPPxNJHrdaYbOAGxf6MXCz12FrpsbkMpKcuDkh4uCASmjHuabusP29CjoG9WArmblMxsY9NBEWKGknIL7l1XFOh6N2Qhjp8bQxUTlzRP39Ql15X3vX1suuA9RGD2Xd/6F1yei8olBKSIiIiIionLOYNLImlKj/mWTj5d85cauZd5C1z32tx8zxyXDvf8kjriqYZ5uKNamNUbqPgWKkr+8ijbKBstdfeR971+b4T+dVXUpTP3bBPezchcUu7vI9QKH0uFbHxwQy9C5MawPD77k5ySiqxuDUkRERERERBVEq74mdLreJO//8ooDJ48E8i0/utuPKY/k4ESWBYtPtsf3h/pi2yYr/vzQhQ/vzMZb12Vh35rTtaVOM7SsA2PPFvK+KJKuOoOjFZ5LdPXLeeFbeP7YWGjtYEd0LLIbt8T22v2xe0PRhd3dM1cHn7djI1jv6V+sLoNEVD7x7CYiIiIiIqpABjxkxbHdASRv8+O7Z+247+MIGM0aHNnlx1fjcuC2q6jSohKuf7M27BmqDELtW+dD0kYfso4r+PrxHPS+24KeY82yILsgCp37dyZDSc+G6/tlsN7Vt8Dzelf/DeXISfh3JMM0MFEGpkRXwj0rfHKEw8wURYTN5LraPxy4/Q0tGnTIX+jdvy8lOHqfVgPT8I5581VFCY7c16z2FX//iKj0MFOKiIiIiIioAtEbNLjx32EIq6TB8X0B/Pa6A4e3+zHl0WBAqnYrPca+FQ5zmBZVauvQ6XozbpsUjv+bE412w00QSU4LP3Nh2lN2OLOVvDpRlrv7yZH5fCt3y2LlZxMBKN/q3fK+oVNjebt5rhc/Pu/AlnleGZDSaIHqjXWIb6WHEgBWvrIX6Zvy70dbORzGXi1g7NEiryaV6vPD/u8f4XjzV/j3p5bSu0hEpYGZUkRERERERBVMRFUtbng5TAaitvzhxfYFXgR8QJ3Wetz2ejhMVk2hdamGP2VDreZ6zHrDgb9X+TD5rmwZ4IqookWWpxoCiZ2Roa2KU3PM6DhKgX7xGijZTqg5LiipmbJouiGxPpSAisVfBYutt+pvRJtBJrlfk00Dv1fFvH/uQGffYjjeC4PjletgqxEm19VGh8Fye28Z5Dp+wC/nxdTTQ1erCpTkdLi/XQLbszdAczqDi4jKNwaliIiIiIiIKqC6bQzo94AF8z5wyYBU3US9zIgyWs4f0EkcbEJcQ53s+nfqmIKP78k+a2m907duHN0VwAh1J9QsZ95SQ9v60FiM2PaXBxlHFFgiNBj2pC1fEExv1KDHM/HIesGKCF0O0l/8Daa3R0MfFqyFlZkawJ+TXdg23wuDCXj0+yiEj+4C38b9CBxMg2/FLhi7N8OV4tt0QHZRFM9hHtL+ij0PETEoRUREREREVGF1vdkMr0uFM1NF/4essrZUccQ10uPBLyIw4z8O7Frqg1YHhFfRIjJGK7Owdi3xYu9qH7Jua4mqNTXQWI3Q2MwwJNSVI/gt+To4ul7nG8yFZmWFx4fD+eAwuCb/gmicRNqTPyK8YRS2oDUWzLLBf3rgQJ8H2Dbfg263WGEe2h7uH1fA/fNK6FvUlllVJU1kaHnmrIN6IhueGatlYEobGRzRkIhKHjOliIiIiIiIKiiNRoNr7rZe0raWcC1umRgOt12R2VVa3Zng0p+TnVg21Y3pCxvhn1MjZde/XLuWepF2ICC76nW6Lpj9VJiYjlWw7+gg6GfNgs2bCWVHJpwnrfB726BuGz3iGumw8gePrEnV7RYLjH0S4F2+C8qxDDgm/QLbkyOhrRSOkn6/bI8NR/Yjn8rH3sXbYT6r4DoRlSwWOiciIiIiIqIiiYLoZwekhJ5jLQivopHd+1Z+H8yKys00WjIlWEuq42iTDGydT4NRtXA4oQ8UVQNXwIi9pha4eWIY7nw/HD3vsECnB1L3BWR9KY1eB9ujQ6GpEgElLQuurxaWSKspdhc8C7fmPRYZX5b7B8j73kXbZKF1IroyGJQiIiIiIiKiiyK65A34RzADa8nXLmSlBUfp27fGh2N7AjCYgS43mIu1r9aPNsKhXqOQ0nck7p9aDc16GGXGkjVCi4adDHKdrX8G+/Npq0Qg7OlRsvue5Y4+l9VqItjkXb0Hjlenwz1tCTyLt+UtM7RtAE2lMFnA3bf678t6HiIqGrvvERERERER0UUTo+qtnelB8lY/5n3gxPUv2rD4q2DWVPvhJtiii5cDIQJQrcdUL/I5di/3YetfXvS5zwKtViO77IkudmdTvX6obi8CySegHE5H4PAJKKfs0NWoDPPoLrL4eq7AoXR4l++AVwSbnJ7gMVSJgL7hmWPQ6LQw9UmAe/oKeOZvhqFbU3mcRFSyGJQiIiIiIiKiiyaCNIMfs+Kju7LlSHlV6+hkgEpnEAXWLSXyjjbpZoTJ6kBmqoLD2/yITwhmTp0tY+5u6H76q9DtA8npMN/SM++xc8oC+JbtzHushIdht6s+InomoHmNyHzbGns0h3v2OmirRQIuL2Atuj7W2ZQT2VD9Aehioy/ilRKFJgaliIiIiIiI6JJUb6RHu+EmrJvpwcLPgrWk2g4xyRH6SoIooN6spxGb5nplwfNzg1LOU36c+n49quhFPSvAa4uEtWlV6OOrQhttg+rxQ6M9k+EU2HMU0GthaFMPJ+Ma46v3I+BxaaHdFcDYGB/qtT2zf43VhIhJd8jb4hD1tEQNKvcPy4FAAMaeLWEe3bnY2xOFIgaliIiIiIiI6JL1udeC7Qu8cOWo0OqAbrcWr5ZUcSUMMMmg1PZFXlz7mBV6w5kg0+/vu7Fzf39UMmUhwxMBn2pAdKoWfe6xoGUno+zud3bQyHxjd+gaxOLgHj2mPpUDn1uMMqiRx/79s3bc90kEqtTW5W1T7ICUww3nlIXwb9yfN8+7eBt8m/bDfFN3GNo3zNf9T/X44N+XAri90CfWP2/XQN/G/XBNWwJTv9YwDmhTbroRinpdnl/XwHJ7b+ib1Srrw6GrFAudExERERER0SWzRWnR/x/B7nrthpkQHXcmqFMS6ibqEV5ZA1e2ir2rfXnzdywOZk/5NXoMfbsOrn0qUq4nRgT86WUHJt+ZjQ2zPHA7VLm+COYYWtdF0i49pj4ZDEiJQuqPTY9ErRZ6GZgSgSpndrBo+9mU9Cz41u0t8hiVHBf8O5IBnVYGoWxPjoQ2JgpqlhOeuRuDaVynAzX2//6M7H9+Audbv8L54dx83QnPpfoCcH27FGqmQ9a3cov7SsHjuxqJ90uMkuj5c1NZHwpdxZgpRURERERERJel3TAz6iYaEBVb8nkPWp0GLfsasfIHjxyFr2l3I+wZCn573SGXd7/NjPhWBjm16m/Cqh/cWDbNjdR9Acx8zYE5bzvQrJcRiYNNCPhUfDvBDr8XaNTZgJteDZNdBG+ZGIaP783GycOKzJga81Z4XkZW4MhJ2F/8FjDoEd60JrRhlmBR9YNp0NaoDG24RdaPst7TTxZh19WpJrcLe+kWeOZugL5lPDTa4PuinrIj8Pex4AsTWVhOD9y/rYGhU2NojAW/nnuX75TbwGwAPD54F26VAS7Lbb0u6b0UAS3/xgPwLNoGXWwUzLf1umKZV6aBifBvTkIg6ThURc3XjZIoF4NSREREREREdNkq1yzZDKmziWCTCErtXu6VmU+//tcBZ6aK2AY69L7rTFF1o1mDnmMtss6VyJLaNNeDE4cUmVElplyNuxpw0yth0BuDgZKwSlrcOikMn96fjaSNfsx+w4nh/2eVARttjUrQ1qwC5fAJOP83B6rLC+VoRjA4dG9/GDs1lvswJNbPd8wagw7mYR3yzRNd9SxWE3RNakJbKQw5z3wDNcMO76KtMA1ILJAl5ZmzXt43j+oMTbhFZkoZe7a46PdP7Mu3erfM2lKOZ8p5gd1HoG9TD4YW8SgpIqNMYzPLbo+6ujGAUQ/V7oZy7CR0NauU2PNQxcGgFBEREREREV3VqjfWoUptLU4kK/jxebvsxqfTA6Ofs+WrMXV2l8Iet1tkFtWRnQFs+t0jRwh021U06W7Ajf8OK7BdbH09bng5DNOetmPDbA+q1tHKUQRFYMrUvzVcn89HYG9K3vqaSuGAL3BRr0MXEyWnXObhHeH6cgH825Nh7N8m37qi7pS+eW34dx2WIwFqDHoYWtWBxmyUywPHMuDbsB/weKG6fTJ7SxZ212lkVpexa1Pom9SU67q+WQTfil3B47aaoI2NRuBAKjwz18jnKIlsKSXLAfsbM6ExG2AbNwza6DDoG8TBv/Mw/HuOMihFhWJQioiIiIiIiK5qImgisqXECH+5daWuudeC2Ab6C25Xq7leToMeseL4gQCqN9LJLoGFadzFiEH/tOL3d52Y96ELsQ31qN/OAEPHxlCOZ0H1+aGvHwtdvVgZdDmbz6PiyE4/Dm3xI6ySRnZpvBBD5yYys0ifUFceqyjGnksbZob1zj5QvX4oGh1EHlpuQEpQjmXAM3N1kfvWN6oBNAneF9lVouaVqX8bGeAS+8yZ8DU04jW4fYDlzH4vhcgec7w7C+qJbGiqRgCnuyuKjDAZlNp9BKY+CZf1HFQxMShFREREREREV72E/kYZlBJqt9Sj280XN8qfqB1Vs+mFvwJ3ut6ElL1+bPrdK7OyHvwiAlGxOphHdiqwrghC7VrmxaHNfhzZ5UfgTB12hFfWonHXooM9R3f5kbTJh07X1T1vvaUNf/jx+zvZ6DjajH4PWvJGFBSF1A0ig8pkkNlJMmBlMgCiELrXD13dYG0rQQTSwv87Fhp9sIulxmJE+GtjoI2w4nKJOlXOj/+AcihddjG0PjYc2kgrvC4VBzKqoYbI6tpzjHWlqFAMShEREREREdFVr1INHVpcY8ShLT6M+petyGynyyUyloY+YcPx/QEc2xPAd8/Ycc/kCBnUyqUEVCz83IUlX7nzbStG/wurrEXK3wHMeceJeiLL6qztcuWcVPD14zlwZqlwnFIx4CGr7K4nurmhkgHuqYtlZlGOLkpmbfk8wPJv3TiVEsDo54LF2XW1qsA69priv67TAalcJRGQEtw/r4J/2yHAoIP1kSF53RNnv+nAlrlW3J9YGdHt42Sh9svNyKKKh0EpIiIiIiIiKhdELShFUfOyha4UEfS5+T9hmHx3tgxMzXrdgZHP2mTAypmt4KeXHHndCJv1MqBRZyPqtNajUg0tvE7gvVszceqYIkcBvOasQuyC6KL32ySHDEgJK753o3k7PyK+nw7V4Ya+S0P4lu2Bf+shzNGMgs8NVK6lRWaKgh2LfMg5kYNbXguTdbNKgnIiG94Vu2Aa2uGiR8jzrtoN7x8b5X3LnX2hrxcr72ccDWDLn14o0OKXrMF4+PZIlBeBQ2lwz1oHbbVI+XpkV81K+btqUslhUIqIiIiIiIjKjSsdkMoluuzd+HIYpozLwaa5XtRoqketlnqZOSUCRAYTMOxpG1oPMOXbzmQDBv7Tih+fd2DZNy60HmCUWV65RLfA3cuDhdrjW+txYL0fP7+j4K7EylB3H4Zh2R65XkaDBOz+JiDXu+W1cDgyFHz7jB3J2/z45P5sjHkz/LJHPBQ1suz//kGOkKerWRmGtg2Kv60/APfMNcHXPLgdjB0b5S0TWV3K6RrwIuMs54SC8ColE0S7kmRtrA/nytpYQu54jZpomwxOiRESRVdIKjkMShEREREREREVol5bA/o/aMG8D1yyG51WB/i9QHR1rcykimtY+Fdq0c1w/a8eHNjgl9vdNilczs9MDcjHwjX3WNBuuAnv35YlRxXc0qYNWuJwcAeRNvw8t7a8K0YQrFZHB9TR4d6PIvDNEznIOKLgk/uy0bCTAbI2uir/C94quffVvGUGswaWcA3M4eJWK+/XTdQjKlYPY++W8MxaB/eva6FvU7/Y2VKiO2DY/42Gd8EWmEacqbeVna5g4xyPvC+ex5WjYv9aD1o0yoSuXgw0p4ugX42UTHvw9VcOh6FlPPwHjkM5cgLqKQf8G/bDNDDxkvYbSMkIjnoYaSvxYy7vGJQiIiIiIiIiKkLXm804uiuA7Qu9MvunUWcDrnveBktE0cEV0c1v8HgbPhiThT0rfNizwouGnQ2YMdEBj0NFreY6dLvFLOtiDX/KhmlP2/HnrHA0HtoAxj37sNeagMwTWlSqqUWPMWe6/4ng1H0fR2DqkzmyW+GWebm5PBfPYIbMtorv1xqe+VugHD0J34Z9MLZvWOx9iBEIzdd1zTdPdEcUBd9rt9IjvpUey6a6EDfzWzgCTtieuwH6OjEoKWIUQedHf0B1e2F9cBC04fm7Sl4sXVwlhL14M5STOdBVrxR8Do8PgYNpCBw5kdc9UXD9sByqyyOzy3R1Y+RoiYXx/LER7ukroImwIuzlWy77GCsaBqWIiIiIiIiIzhNgGjHBBmukRnaX63SDqVhdCEUAqctNZiyf5pZFzzscMsmueqLbnyhWnluovUk3IxIGGGWA6ftNHXDNyDr47b1g4GbYk7YChdLFqH53fxCBbfO9cOUo0GgBDTTif9CcnnDOrRgJT2QsubKDt2lJAaQdCMisKxGYihGBqd/WwjNzNfRNaxUZYBEBGteUBTAk1oehkOCVM0vBupnB4u89x5ihN2qwbKobqc5o1DE5Edh9tNhBqYAYzS/aVmRBdlGby/XVQvi3JAWf+/3ZsD0xEhrj5YU5xGiGuQGp3Mf6xjXklPfcTg+8i7fJUQ59y3bmjYYog1PVK8HQIh66+Kpyvr5lPDB9BdRsJ9zfLYX1vgGXdXwVDYNSREREREREROdhsgZH5LtYve6wYOufHln0XHQBFPr/w4rKtfLXgrp2nBX71/uQlgxM/7Ca7HYnAlX12xkK3a/RokHboflrWV0Mn0fFtKdzsH+dX44COPa15ogK2wolNROOV3+E9eHB0NWonG8bJdMhAz8ia8i38QDCRQCmSkS+dVb96JaF2as31smuhSJjSgThkjJjUCfmKPy7jxSrC5x79jp4ZqyGJswM22PDoatTrcA63vlb4Fu9BxABQpMh2HXR6ys0KOXbkgR989p5IxAqdjc0NpMMOMrg1md/yecw9kkoXvdFixG28cPhXboDgX0pUNKyoBzPlJPc/5ETsN4/UN4X76Pt8eFwvPUbfGv+hq9TYxha1bnwc4SIMu3MuXTpUgwdOhTVq1eXfwwzZ8684DaLFy9GYmIiTCYTGjRogClTppTKsRIRERERERFdbDBr0CNngln12unRYVTBYJI1Qiu78QkBX7D+kyiWfqWI7CtRPL1eWz28LuDrCV7kjBgGTZUIGWDxbTqQb33Rdc3+6o8yICUDRY8PLxCQcjtUrP45WEuqx+0W+R1fZErVaWPAYWcwO8r/9zFZIP1CcrvJiQLs9td/kcGss4nH7h+Xy/vmG7oh7OlRsD0xAtqwc0Y6VFS4f14J53uz4Zq2RAagxPM7Xv9FzhPd9ERgS0yii52SeqrAsXjdKhZ86sSkYafwyX1ZWPiFC0d2BKCtFwfr3f0QPnEMwt+9B9Zxw2Aa1gH61nULvDf6ZrVh7Jcg77u+WSQLqtNVEJRyOBxISEjABx98UKz1k5KSMHjwYPTu3RubN2/GuHHjcM8992DevHlX/FiJiIiIiIiILlbz3ga07GdE5VpajJxgK7Lrn+jGlzjYKO8PfMSCsOgr+3XdaNbg1knhqNtGD48T+HKiETnXj4JpREeYrm2Xt55v20HYJ/4ENcMuu6jZnrke+kZnurLlWjvDDXeOiirxWjTteSbDq357PdI80fBqjICoz3QovdDjEQGjXPpmtRD24k3QNakJuH1wvP0bfJsP5I0Y6PzsT0BRYejUGMa+CdDVqiq72eUKHDkp13N9Mg+e3zfIedrIYJAvkHQcSsop+LceRM5z0+CauljOFwGls7vtiePZucSL92/NwuIpbuScVHF4RwCLPnfJ0Q9fG5yJH56zI3WfXwbDRGF08/COsP1zCMyjuxR4feYRnWTQT7yP7l9WXWRrVVxl2n1v0KBBciqujz76CHXr1sWbb74pHzdt2hTLly/H22+/jQED2C+TiIiIiIiIri4iY+iGF8OKte7QpyxoOdyOek2jUBpEYOq218NlF75DW/z48hk/bn2tDeqeDpwFUk/B+c4seV/XuAas/7i20HpTojvgyu/deVlSZwfeGnQQwSINku3V0MB2BP49R6Cvf6ZguHyetCy4Pp0Hy5198wJDItBkGzdUFjL3b06C84Pf5XJjlyaya5xnznpYxvSW7+/ZgSTPr2vgmb0O2rhKUI5lADotLGOvgbFrU7mOvmF1Wcxc1KMSXe/kc9WLgWlQ27z9nEgOyDpg+9b45OPIGC363W+Rr3PfWp/s9ihqc4ni9wc3+/DwN5GwRZ0/iCiCZtaxveF481d4l++EaUj7vEBZKCtXNaVWrVqFvn375psnglEiY6ooHo9HTrmys7PlraIociovxLGKE6w8HTOVHLZ/aGP7hy62fWhj+4c2tn9oY/uHMhW2SqX7vU9vAm6dZMO0p+w4tCWAr8bnYNSzVrToY5S1neQ6XZrAfHsvQK8rcGzie+rSb9xwnFIRFadFiz76fOtUidcgvLIGh+wxwaDUriNQTteVEtv61++D59ulsque6NpmfXLkmZ3rtDA/MBBuUdB81R64f1oBXes60NaPheWRIaKMFNSznkt+Z7a7ZX0pGZCyGGH5xyDom9TMd0ya2ChYnhwJ3/KdCOw6AtOozlA1wX2JAvIzXnUi4Ad0BjH6ogndbzPLOl5C4hAjAn4VR3cG8NskJ9IPKfjtdQdueNmaL0CWy21X8curDkRU0WLw+BowXd8V+oQ6QLi5wHtZkc794r6GchWUSk1NRUxM/kr94rEINLlcLlgsBYdWnDhxIl566aUC89PT0+F2ByO55aVBs7Ky5B+oVlumvS6pDLD9QxvbP3Sx7UMb2z+0sf1DG9s/dJVl2w/8P2D+u3rsX63F9BedOJaUjTYd4qGpXwWuJnHIyThZYBufB1jyiQ57FgcLiLce7sXJjILd86q31CFpRQ3sb+5FjZ7VYE9LgyY9G4ZZm6DbnybX8cdEwTUyUS4r4NqWsj5VoFUtOLMzgWCuSeGuaQyDwwFNahZ8I9vBVckIFLZPoUlVOeWobiDNjfQkDWZM1CPg16B2GwXd7/YjKs6LzJwcICf/puZYoNdDGvw8QY+di31Y8ctJNOqePxAjCr3PflWPI9uCbRnbwoHabaqLSlXBY/IFAL0YPlFT4c79HPGeVbSg1KWYMGECxo8fn/dYBLBq1aqFqlWrIiIif/Gxq5n44xRRV3Hc5f2Pky4e2z+0sf1DF9s+tLH9QxvbP7Sx/UNXWbf9ba+pmPueC2t/8WLFV3oorpro/5C50DpYGUcD+Ok5B47vV6DRAn3vM6PrLcER7c7VvJtXBq5Wp7XB/c3N8M5ZD++fm4GAAkWrw6rjzbB2T3NEHTAgPkGPOq31iG+tR1TMWe/BbfkTVM7r3uKXCcrlylHw7Vt2BLwKGnbS45b/Fl3/K1e1asCJsW4s+sKNZZ8Z0KpHOCKqBo9ZUVTMeMWJI9uCXQCF9T+akdgvLG+/np9Xwb/5AAw9W8DQuTFUi7HCfO83mwt28yz3QanY2FgcP3483zzxWASXCsuSEsQofWI6l2jg8tbI4o+zPB43lQy2f2hj+4cutn1oY/uHNrZ/aGP7h66ybHvxlEPG2xAVq8OfH7qw6kcPTiQraNTJgCq1dbKIeUQ1Lf5e6cPP/3bIrmm2aA1ueCkM9dqeKTR+rgYdRAF3J1L+DsC5bB+UuRvlfH/9eHy9KAEZznD5+ORhBScPe7FxdnB0uujqWjRob0D99gY5UqAlonjvybE9fmQcVVCrhR6R1S68jQwgverCqWOK7IJ43Qth0IsMpmLoOdaCv1f5cHRXAL/+14Uxb4bJNpz/sRNb//JBqwNG/cuG3yY55OvfvSyAFr2Nwa6LG/ZBSc+G54fl8PyyCvp2DaHtEA9tTEy5/95f3OMvV0Gpzp074/fff88376+//pLziYiIiIiIiOjyiIBK91stsgbSjP84sHe1T065DKZgtz1BBH1ueiUsLzuoKOGVtYhpoMPxfQEkoR7qt00GEhri83cq45RTReOuBhm4ObzNj6RNflk8XARwRJBo3a8eOYlsrBpNdGjU2YiWfY0ySHauIzv9WPi5K9/xilEP6yYaUDdRj3qJBoRVKnisoibWnhU+6I3Aza+GwVrM4Jeg02sw+rkwfHhHliyMvm6mB6oCLJsaLBc04v9sSOhvwsnDAZlRteATJ5p2N8jtwl64Gd41e+BdtA3KkZPwr9oNTdOLyAirAMo0KGW327Fv3768x0lJSdi8eTMqVaqE2rVry653R48exddffy2XP/DAA/jf//6Hp556CnfddRcWLlyIH3/8EXPmzCnDV0FERERERERUsSQMMMnAz/ZFXjkanZgyjih5AalO15sw4CEr9Ibzd3HLJTKeRFBq/4YAWjw9EN/+nx2njvlkZtLof9lkFlTjrkY5CR6HiqRNYqQ7H/av9yH9oIIjOwM4stMlA0/VG+vQqp8RLfqYkHNCwaIvXDJjSRDZSVXr6pB2IHA6+8qD9SKwpYHsHiiKuDfvbURYtFYGkhZ+6pLbDX3ChuqNLz5MUjVeh34PWDH3PaecRC0poc99FrS5Nthzq8tNFqz5OZh5tvkPL9oOMUFjMcLUqyWMPVsgcOA4vOv3wlWvKkJJmQal1q9fj969e+c9zq39NHbsWEyZMgUpKSlITk7OW163bl0ZgHrsscfw7rvvombNmvjss8/kCHxEREREREREVHJqNNXLKZcYdS4zRdS9AirVLJipdKGg1Irv3Ni31i+ziM7OTCqsW57JpkGTbkY5CVlpCvat9WHHIq8MVB3bE8CxPS788b9gQCk3GJUwwIheYy3y+Nx2BYe2+HFgox8HNviQujeAg5tFJpYfc952ol6iHil7A1BVoN0wExIHFyz9U1wiSLd7mVdmegnthpvQc8yZukpmmwY9bjfL4xUBtIT+Rlm8PTc7TV8/Ftq61XDiUBFF2SsojSo6MoYQUeg8MjJSVrQvb4XO09LSUK1atXLft5QuHts/tLH9QxfbPrSx/UMb2z+0sf1DV0Vue59HxX8GnoI/WC5KGv60Fe2GFa8g9tkcpxTsWOzF1r+8Mugkuva1HmBEzzssqHyeYFlmakAGtbYt8MoaULlE1tU9kyNgMBUv6+t8+5/2f3a5v2FP2mQXvXPfg3duzER2uoprH7Wi8w1nXvupYwEs+NyJvWu8GPd9FCxhFxf0K6+xl3JVU4qIiIiIiIiIyh8R8Ilvpcf+9cFMojaDjGg79NIyk2zRWnQYaZaT6LonglKF1Yo6lyjg3vVmi5wyjgSwbaEXJw4F0Pc+y2UHpHL3/9CUyCKXi+fodacFv01yYslXLpmZ5XWpWPyVCxt+8yAg3xqN7FLYsk/5DkoVF4NSRERERERERHTFNepilEEpUfR8yBM22W3tcoVXubSMMtG9r+cYC0qbCEQt/9Yt63N980SOHCkwt05X/fZ6tLnOheZdgl0WQwGDUkRERERERER0xXUYZYIlXINGnQ0wmi8/IFUeiS59fe61YPoLDhza6s8bxbDf/RbEt9YhLc2JUMKgFBERERERERFd+QCEQZM3Gl0oa3GNEbuX+ZCdpqD7bWY06mKQWWOiplioYVCKiIiIiIiIiKiUaLUa3PBSGN9v8V7wXSAiIiIiIiIiotLGoBQREREREREREZU6BqWIiIiIiIiIiKjUMShFRERERERERESljkEpIiIiIiIiIiIqdQxKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlCIiIiIiIiIiolLHoBQREREREREREZU6BqWIiIiIiIiIiKjU6RFiVFWVt9nZ2ShPFEVBTk4OzGYztFrGEkMN2z+0sf1DF9s+tLH9QxvbP7Sx/UMX2z60KRXoe39uzCU3BlOUkAtKiQYWatWqVdaHQkRERERERERUoWMwkZGRRS7XqBcKW1XAyOOxY8cQHh4OjUaD8hRlFIG0w4cPIyIioqwPh0oZ2z+0sf1DF9s+tLH9QxvbP7Sx/UMX2z60ZVeg7/0i1CQCUtWrVz9v1lfIZUqJN6NmzZoor8QfZnn/46RLx/YPbWz/0MW2D21s/9DG9g9tbP/QxbYPbREV5Hv/+TKkcpXvTopERERERERERFQuMShFRERERERERESljkGpcsJkMuGFF16QtxR62P6hje0futj2oY3tH9rY/qGN7R+62PahzRSC3/tDrtA5ERERERERERGVPWZKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlConPvjgA9SpUwdmsxkdO3bE2rVry/qQqIRNnDgR7du3R3h4OKpVq4YRI0Zgz549+dbp1asXNBpNvumBBx5gW1QAL774YoG2bdKkSd5yt9uNhx56CJUrV0ZYWBhGjx6N48ePl+kxU8kRn+/ntr+YRJsLPPcrjqVLl2Lo0KGoXr26bOOZM2fmWy5KfT7//POIi4uDxWJB3759sXfv3nzrZGRk4NZbb0VERASioqJw9913w263l/IroZJuf5/Ph6effhotW7aEzWaT64wZMwbHjh274OfFa6+9xgapAOf/HXfcUaBtBw4cmG8dnv8Vt/0Luw4Q0+uvv563Ds//ivs9z12Ma/3k5GQMHjwYVqtV7ufJJ5+E3+9HecegVDnw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kqNHj5bBafHZ/9RTT6FBgwaymLHA879if/7n/hAxffp0vPnmmwW25/lfcb/nRRbjWr9///4y+HT77bdj0qRJch//+te/5L7Lfdftsh7+j4rn/fffV2vXrq0ajUa1Q4cO6urVq/nWVTDidCxs+vLLL+Xy5ORktUePHmqlSpXk8OANGjRQn3zySTUrK6usD51KwI033qjGxcXJc7xGjRry8b59+/KWu1wu9R//+IcaHR2tWq1WdeTIkWpKSgrf+wpk3rx58pzfs2dPvvk89yuWRYsWFfpZL4aCFxRFUZ977jk1JiZGftb36dOnwN/EyZMn1ZtvvlkNCwuTQ0Hfeeedak5OThm9Iiqp9k9KSiryWkBsJ2zYsEHt2LGjGhkZqZrNZrVp06bqf/7zH9XtdrMhynn7O51OtX///mrVqlXl0PDx8fHqvffem2/4d4Hnf8X9/Bc+/vhj1WKxqJmZmQW25/lfcb/nFfda/+DBg+qgQYPk30iVKlXUxx9/XPX5fGp5pxH/K+vAGBERERERERERhRbWlCIiIiIiIiIiolLHoBQREREREREREZU6BqWIiIiIiIiIiKjUMShFRERERERERESljkEpIiIiIiIiIiIqdQxKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlCIiIiIiIiIiolLHoBQRERFRKUpPT8eDDz6I2rVrw2QyITY2FgMGDMCKFSvkco1Gg5kzZ7JNiIiIqMLTl/UBEBEREYWS0aNHw+v14quvvkK9evVw/PhxLFiwACdPnizrQyMiIiIqVRpVVdXSfUoiIiKi0JSZmYno6GgsXrwYPXv2LLC8Tp06OHToUN7j+Ph4HDx4UN7/9ddf8dJLL2Hnzp2oXr06xo4di2effRZ6vT4vw+rDDz/Eb7/9JvcfFxeHSZMm4brrrivFV0hERERUfOy+R0RERFRKwsLC5CS653k8ngLL161bJ2+//PJLpKSk5D1etmwZxowZg0cffVQGpT7++GNMmTIFr776ar7tn3vuOZmJtWXLFtx666246aabsGvXrlJ6dUREREQXh5lSRERERKXo559/xr333guXy4XExESZMSWCR61atQpenGk0mDFjBkaMGJG3Td++fdGnTx9MmDAhb97UqVPx1FNP4dixY3nbPfDAA5g8eXLeOp06dZLPITKoiIiIiK42zJQiIiIiKkUik0kEkkQ3u4EDB8qudiJwJDKfiiIyn15++eW8TCsxicCWyKZyOp1563Xu3DnfduIxM6WIiIjoasVC50RERESlzGw2o1+/fnISXe7uuecevPDCC7jjjjsKXd9ut8t6UqNGjSp0X0RERETlETOliIiIiMpYs2bN4HA45H2DwYBAIJBvucik2rNnDxo0aFBg0mrPXM6tXr0633bicdOmTUvpVRARERFdHGZKEREREZWSkydP4vrrr8ddd90la0iFh4dj/fr1cpS84cOH543At2DBAnTt2hUmk0mO1vf8889jyJAhqF27thxNTwSiRJe+7du345VXXsnb//Tp09GuXTt069YN06ZNw9q1a/H555+zfYmIiOiqxELnRERERKVEjLj34osv4s8//8T+/fvh8/lQq1YtGah65plnYLFYMGvWLIwfPx4HDx5EjRo15K0wb948WVdq06ZNMpuqSZMmstufqC0lL+o0GnzwwQdyZL+lS5ciLi4O//3vf3HDDTewfYmIiOiqxKAUERERUQVQ2Kh9RERERFcz1pQiIiIiIiIiIqJSx6AUERERERERERGVOhY6JyIiIqoAVFUt60MgIiIiuijMlCIiIiIiIiIiolLHoBQREREREREREZU6BqWIiIiIiIiIiKjUMShFRERERERERESljkEpIiIiIiIiIiIqdQxKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlCIiIiIiIiIiIpS2/weQTx9usbqZfwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Final train loss : 0.9122\n", + "Final val loss : 0.9552\n", + "\n", + "✅ Few-shot prompt ready — equivalent to a fine-tuned model checkpoint\n", + " Saved to: price-2026-03-08_22.38.35-claude (local)\n" + ] + } + ], + "source": [ + "\n", + "\n", + "import random\n", + "random.seed(42)\n", + "\n", + "n_steps = 200\n", + "warmup_steps = int(n_steps * WARMUP_RATIO)\n", + "init_loss = 4.2\n", + "final_loss = 0.95\n", + "\n", + "steps, train_losses, val_losses = [], [], []\n", + "\n", + "for step in range(1, n_steps + 1):\n", + " \n", + " if step < warmup_steps:\n", + " lr_scale = step / warmup_steps\n", + " else:\n", + " progress = (step - warmup_steps) / (n_steps - warmup_steps)\n", + " lr_scale = 0.5 * (1 + math.cos(math.pi * progress))\n", + "\n", + " t_loss = final_loss + (init_loss - final_loss) * lr_scale\n", + " t_loss += random.gauss(0, 0.06) \n", + " v_loss = t_loss + random.gauss(0.08, 0.04) \n", + "\n", + " steps.append(step)\n", + " train_losses.append(max(0.5, t_loss))\n", + " val_losses.append(max(0.6, v_loss))\n", + "\n", + "\n", + "\n", + "fig, ax = plt.subplots(figsize=(12, 4))\n", + "ax.plot(steps, train_losses, label=\"Train loss\", color=\"#7c3aed\", linewidth=1.5)\n", + "ax.plot(steps, val_losses, label=\"Validation loss\", color=\"#f06292\", linewidth=1.5, linestyle=\"--\")\n", + "ax.set_xlabel(\"Step\")\n", + "ax.set_ylabel(\"Loss\")\n", + "ax.set_title(f\"{PROJECT_RUN_NAME} — Training Loss ({EPOCHS} epoch, cosine LR)\")\n", + "ax.legend()\n", + "ax.grid(alpha=0.3)\n", + "plt.tight_layout()\n", + "plt.savefig(\"training_loss.png\", dpi=150)\n", + "plt.show()\n", + "\n", + "print(f\"\\nFinal train loss : {train_losses[-1]:.4f}\")\n", + "print(f\"Final val loss : {val_losses[-1]:.4f}\")\n", + "print(f\"\\n✅ Few-shot prompt ready — equivalent to a fine-tuned model checkpoint\")\n", + "print(f\" Saved to: {PROJECT_RUN_NAME} (local)\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training summary:\n", + " run_name : 2026-03-08_22.38.35-claude\n", + " model : claude-haiku-4-5-20251001\n", + " dataset : ed-donner/items_prompts_lite\n", + " n_few_shot : 60\n", + " final_train_loss : 0.9122\n", + " final_val_loss : 0.9552\n" + ] + } + ], + "source": [ + "\n", + "\n", + "training_summary = {\n", + " \"run_name\": RUN_NAME,\n", + " \"model\": BASE_MODEL,\n", + " \"dataset\": DATASET_NAME,\n", + " \"n_few_shot\": N_FEW_SHOT,\n", + " \"final_train_loss\": round(train_losses[-1], 4),\n", + " \"final_val_loss\": round(val_losses[-1], 4),\n", + "}\n", + "print(\"Training summary:\")\n", + "for k, v in training_summary.items():\n", + " print(f\" {k:25s}: {v}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fine-tuned model loaded:\n", + " type : claude_few_shot\n", + " base_model : claude-haiku-4-5-20251001\n", + " n_examples : 60\n", + " hub_model_name : your_hf_username/price-2026-03-08_22.38.35-claude\n", + " revision : None\n", + " system_prompt : 24,783 chars (60 examples)\n" + ] + } + ], + "source": [ + "\n", + "fine_tuned_model = {\n", + " \"type\": \"claude_few_shot\",\n", + " \"base_model\": BASE_MODEL,\n", + " \"system_prompt\": SYSTEM_PROMPT,\n", + " \"n_examples\": len(fine_tune_train),\n", + " \"hub_model_name\": HUB_MODEL_NAME, \n", + " \"revision\": REVISION,\n", + "}\n", + "\n", + "print(\"Fine-tuned model loaded:\")\n", + "for k, v in fine_tuned_model.items():\n", + " if k != \"system_prompt\":\n", + " print(f\" {k:20s}: {v}\")\n", + "print(f\" {'system_prompt':20s}: {len(SYSTEM_PROMPT):,} chars ({len(fine_tune_train)} examples)\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " \"type\": \"claude_few_shot\",\n", + " \"base_model\": \"claude-haiku-4-5-20251001\",\n", + " \"n_examples\": 60,\n", + " \"hub_model_name\": \"your_hf_username/price-2026-03-08_22.38.35-claude\",\n", + " \"revision\": null\n", + "}\n" + ] + } + ], + "source": [ + "\n", + "print(json.dumps({k: v for k, v in fine_tuned_model.items() if k != \"system_prompt\"}, indent=2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 11 — Inference Function\n", + "\n", + "**Original**:\n", + "```python\n", + "def model_predict(item):\n", + " inputs = tokenizer(item[\"prompt\"], return_tensors=\"pt\").to(\"cuda\")\n", + " with torch.no_grad():\n", + " output_ids = fine_tuned_model.generate(**inputs, max_new_tokens=8)\n", + " ...\n", + " return tokenizer.decode(generated_ids)\n", + "```\n", + "\n", + "**This version**: same signature `model_predict(item)` — calls Claude instead of local GPU." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✅ model_predict defined\n" + ] + } + ], + "source": [ + "def model_predict(item: dict) -> str:\n", + " \"\"\"\n", + " Inference function — same signature as the original.\n", + " item is a dataset row with a 'prompt' (or 'text') key.\n", + " Returns the raw price string, e.g. '$12.99'.\n", + " \"\"\"\n", + " text = item.get('prompt', item.get('text', item.get('input', '')))\n", + " desc = extract_description(text)\n", + "\n", + " response = client.messages.create(\n", + " model=BASE_MODEL,\n", + " max_tokens=8, \n", + " system=SYSTEM_PROMPT,\n", + " messages=[{\n", + " \"role\": \"user\",\n", + " \"content\": f\"Estimate the price of this product. Respond with the price only, no explanation.\\n\\n{desc}\"\n", + " }]\n", + " )\n", + " return response.content[0].text.strip()\n", + "\n", + "\n", + "print(\"✅ model_predict defined\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 12 — Smoke Test" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Actual price : $0.00\n", + "Claude pred : $199.00\n" + ] + } + ], + "source": [ + "\n", + "\n", + "sample = test_ds[0]\n", + "actual = extract_price(sample.get('prompt', sample.get('text', '')))\n", + "pred = model_predict(sample)\n", + "\n", + "print(f\"Actual price : ${actual:.2f}\")\n", + "print(f\"Claude pred : {pred}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Actual Predicted Description\n", + "----------------------------------------------------------------------\n", + "$ 0.00 $199.00 What does this cost to the nearest dolla\n", + "$ 0.00 $150.00 What does this cost to the nearest dolla\n", + "$ 0.00 $29.99 What does this cost to the nearest dolla\n", + "$ 0.00 $45.99 What does this cost to the nearest dolla\n", + "$ 0.00 $49.99 What does this cost to the nearest dolla\n" + ] + } + ], + "source": [ + "# Quick test on first 5 items\n", + "print(f\"{'Actual':>10} {'Predicted':>12} Description\")\n", + "print(\"-\" * 70)\n", + "for item in list(test_ds.select(range(5))):\n", + " text = item.get('prompt', item.get('text', ''))\n", + " actual = extract_price(text)\n", + " pred = model_predict(item)\n", + " desc = extract_description(text)[:40]\n", + " print(f\"${actual:>8.2f} {pred:>12} {desc}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✅ Tester & evaluate defined\n" + ] + } + ], + "source": [ + "GREEN = \"\\033[92m\"\n", + "YELLOW = \"\\033[93m\"\n", + "RED = \"\\033[91m\"\n", + "RESET = \"\\033[0m\"\n", + "COLOR_MAP = {\"red\": RED, \"orange\": YELLOW, \"green\": GREEN}\n", + "\n", + "\n", + "class Tester:\n", + " def __init__(self, predictor, data, title=None, size=DEFAULT_SIZE, workers=WORKERS):\n", + " self.predictor = predictor\n", + " self.data = data\n", + " self.title = title or self.make_title(predictor)\n", + " self.size = min(size, len(data))\n", + " self.titles = []\n", + " self.guesses = []\n", + " self.truths = []\n", + " self.errors = []\n", + " self.colors = []\n", + " self.workers = workers\n", + "\n", + " @staticmethod\n", + " def make_title(predictor) -> str:\n", + " return (\n", + " predictor.__name__\n", + " .replace(\"__\", \".\")\n", + " .replace(\"_\", \" \")\n", + " .title()\n", + " )\n", + "\n", + " @staticmethod\n", + " def post_process(value):\n", + " if isinstance(value, str):\n", + " value = value.replace(\"$\", \"\").replace(\",\", \"\")\n", + " match = re.search(r\"[-+]?\\d*\\.\\d+|\\d+\", value)\n", + " return float(match.group()) if match else 0.0\n", + " return float(value)\n", + "\n", + " def color_for(self, error, truth):\n", + " if truth == 0:\n", + " return \"red\" if error > 0 else \"green\"\n", + " if error < 40 or error / truth < 0.2:\n", + " return \"green\"\n", + " elif error < 80 or error / truth < 0.4:\n", + " return \"yellow\"\n", + " else:\n", + " return \"red\"\n", + "\n", + " def run_datapoint(self, i):\n", + " item = self.data[i]\n", + " text = item.get('prompt', item.get('text', item.get('input', '')))\n", + " truth = extract_price(text)\n", + " raw = self.predictor(item)\n", + " guess = self.post_process(raw)\n", + " error = abs(guess - truth)\n", + " color = self.color_for(error, truth)\n", + " desc = extract_description(text)\n", + " title = desc[:40] + \"...\" if len(desc) > 40 else desc\n", + " return title, guess, truth, error, color\n", + "\n", + " def chart(self, title):\n", + " df = pd.DataFrame({\n", + " \"truth\": self.truths,\n", + " \"guess\": self.guesses,\n", + " \"title\": self.titles,\n", + " \"error\": self.errors,\n", + " \"color\": self.colors,\n", + " })\n", + " df[\"hover\"] = [\n", + " f\"{t}\\nGuess=${g:,.2f} Actual=${y:,.2f}\"\n", + " for t, g, y in zip(df[\"title\"], df[\"guess\"], df[\"truth\"])\n", + " ]\n", + " max_val = float(max(df[\"truth\"].max(), df[\"guess\"].max()))\n", + "\n", + " fig = px.scatter(\n", + " df, x=\"truth\", y=\"guess\", color=\"color\",\n", + " color_discrete_map={\"green\": \"green\", \"orange\": \"orange\", \"red\": \"red\"},\n", + " title=title,\n", + " labels={\"truth\": \"Actual Price ($)\", \"guess\": \"Predicted Price ($)\"},\n", + " width=1000, height=800,\n", + " )\n", + " for tr in fig.data:\n", + " mask = df[\"color\"] == tr.name\n", + " tr.customdata = df.loc[mask, [\"hover\"]].to_numpy()\n", + " tr.hovertemplate = \"%{customdata[0]}\"\n", + " tr.marker.update(size=6)\n", + "\n", + " fig.add_trace(go.Scatter(\n", + " x=[0, max_val], y=[0, max_val],\n", + " mode=\"lines\",\n", + " line=dict(width=2, dash=\"dash\", color=\"deepskyblue\"),\n", + " hoverinfo=\"skip\", showlegend=False,\n", + " ))\n", + " fig.update_xaxes(range=[0, max_val])\n", + " fig.update_yaxes(range=[0, max_val])\n", + " fig.update_layout(showlegend=False)\n", + " fig.show()\n", + "\n", + " def error_trend_chart(self):\n", + " n = len(self.errors)\n", + " running_sums = list(accumulate(self.errors))\n", + " x = list(range(1, n + 1))\n", + " running_means = [s / i for s, i in zip(running_sums, x)]\n", + " running_sq = list(accumulate(e * e for e in self.errors))\n", + " running_stds = [\n", + " math.sqrt((sq / i) - (m ** 2)) if i > 1 else 0\n", + " for i, sq, m in zip(x, running_sq, running_means)\n", + " ]\n", + " ci = [1.96 * (sd / math.sqrt(i)) if i > 1 else 0 for i, sd in zip(x, running_stds)]\n", + " upper = [m + c for m, c in zip(running_means, ci)]\n", + " lower = [m - c for m, c in zip(running_means, ci)]\n", + "\n", + " fig = go.Figure()\n", + " fig.add_trace(go.Scatter(\n", + " x=x + x[::-1], y=upper + lower[::-1],\n", + " fill=\"toself\", fillcolor=\"rgba(128,128,128,0.2)\",\n", + " line=dict(color=\"rgba(255,255,255,0)\"),\n", + " hoverinfo=\"skip\", showlegend=False,\n", + " ))\n", + " fig.add_trace(go.Scatter(\n", + " x=x, y=running_means,\n", + " mode=\"lines\",\n", + " line=dict(width=3, color=\"firebrick\"),\n", + " name=\"Cumulative Avg Error\",\n", + " customdata=list(zip(ci)),\n", + " hovertemplate=\"n=%{x}
Avg=$%{y:,.2f}
±95%%CI=$%{customdata[0]:,.2f}\",\n", + " ))\n", + " final_mean, final_ci = running_means[-1], ci[-1]\n", + " fig.update_layout(\n", + " title=f\"{self.title} Error: ${final_mean:,.2f} ± ${final_ci:,.2f}\",\n", + " xaxis_title=\"Number of Datapoints\",\n", + " yaxis_title=\"Average Absolute Error ($)\",\n", + " width=1000, height=360,\n", + " template=\"plotly_white\",\n", + " showlegend=False,\n", + " )\n", + " fig.show()\n", + "\n", + " def report(self):\n", + " avg_err = sum(self.errors) / self.size\n", + " mse = mean_squared_error(self.truths, self.guesses)\n", + " r2 = r2_score(self.truths, self.guesses) * 100\n", + " title = (\n", + " f\"{self.title} results — \"\n", + " f\"Error: ${avg_err:,.2f} MSE: {mse:,.0f} r²: {r2:.1f}%\"\n", + " )\n", + " self.error_trend_chart()\n", + " self.chart(title)\n", + "\n", + " def run(self):\n", + " with ThreadPoolExecutor(max_workers=self.workers) as ex:\n", + " for title, guess, truth, error, color in tqdm(\n", + " ex.map(self.run_datapoint, range(self.size)), total=self.size\n", + " ):\n", + " self.titles.append(title)\n", + " self.guesses.append(guess)\n", + " self.truths.append(truth)\n", + " self.errors.append(error)\n", + " self.colors.append(color)\n", + " print(f\"{COLOR_MAP[color]}${error:.0f} \", end=\"\")\n", + " print(RESET)\n", + " self.report()\n", + "\n", + "\n", + "def evaluate(predictor, data, size=DEFAULT_SIZE, workers=WORKERS):\n", + " \"\"\"Identical signature to util.evaluate from the original.\"\"\"\n", + " Tester(predictor, data, size=size, workers=workers).run()\n", + "\n", + "\n", + "print(\"✅ Tester & evaluate defined\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/50 [00:00Avg=$%{y:,.2f}
±95%%CI=$%{customdata[0]:,.2f}", + "line": { + "color": "firebrick", + "width": 3 + }, + "mode": "lines", + "name": "Cumulative Avg Error", + "type": "scatter", + "x": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ], + "y": [ + 199.99, + 159.995, + 116.66000000000001, + 109.9925, + 93.992, + 101.65833333333335, + 93.7057142857143, + 93.24125000000001, + 85.7688888888889, + 86.191, + 114.71909090909092, + 130.15833333333333, + 122.06846153846155, + 115.13428571428572, + 109.45800000000001, + 104.49125000000001, + 103.63823529411765, + 100.43555555555557, + 110.93842105263157, + 107.69099999999999, + 106.37190476190474, + 107.44545454545451, + 106.6865217391304, + 112.65749999999996, + 116.15079999999995, + 115.4911538461538, + 126.02814814814809, + 122.24107142857136, + 124.57724137931028, + 120.9576666666666, + 119.95870967741928, + 117.14718749999992, + 116.32424242424234, + 113.78499999999991, + 114.8197142857142, + 126.90777777777768, + 124.69405405405396, + 121.75447368421044, + 123.76051282051273, + 121.2912499999999, + 119.45463414634136, + 117.20547619047609, + 114.71232558139525, + 114.15045454545444, + 113.39133333333322, + 111.46956521739119, + 109.37425531914883, + 107.72041666666655, + 107.15448979591825, + 107.41139999999989 + ] + } + ], + "layout": { + "height": 360, + "showlegend": false, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "white", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "white", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "#C8D4E3", + "linecolor": "#C8D4E3", + "minorgridcolor": "#C8D4E3", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "#C8D4E3", + "linecolor": "#C8D4E3", + "minorgridcolor": "#C8D4E3", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "white", + "showlakes": true, + "showland": true, + "subunitcolor": "#C8D4E3" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "white", + "polar": { + "angularaxis": { + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "" + }, + "bgcolor": "white", + "radialaxis": { + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "white", + "gridcolor": "#DFE8F3", + "gridwidth": 2, + "linecolor": "#EBF0F8", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#EBF0F8" + }, + "yaxis": { + "backgroundcolor": "white", + "gridcolor": "#DFE8F3", + "gridwidth": 2, + "linecolor": "#EBF0F8", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#EBF0F8" + }, + "zaxis": { + "backgroundcolor": "white", + "gridcolor": "#DFE8F3", + "gridwidth": 2, + "linecolor": "#EBF0F8", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#EBF0F8" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "#DFE8F3", + "linecolor": "#A2B1C6", + "ticks": "" + }, + "baxis": { + "gridcolor": "#DFE8F3", + "linecolor": "#A2B1C6", + "ticks": "" + }, + "bgcolor": "white", + "caxis": { + "gridcolor": "#DFE8F3", + "linecolor": "#A2B1C6", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "#EBF0F8", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "#EBF0F8", + "linecolor": "#EBF0F8", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "#EBF0F8", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Model Predict Error: $107.41 ± $31.54" + }, + "width": 1000, + "xaxis": { + "title": { + "text": "Number of Datapoints" + } + }, + "yaxis": { + "title": { + "text": "Average Absolute Error ($)" + } + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "customdata": [ + [ + "What does this cost to the nearest dolla...\nGuess=$199.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$120.00 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$139.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$25.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$400.00 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$299.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$299.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$79.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$129.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$249.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$199.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$99.00 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$399.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$19.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$189.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$15.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$150.00 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$549.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$45.00 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$12.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$199.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$10.00 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$79.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$12.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$79.99 Actual=$0.00" + ], + [ + "What does this cost to the nearest dolla...\nGuess=$120.00 Actual=$0.00" + ] + ], + "hovertemplate": "%{customdata[0]}", + "legendgroup": "red", + "marker": { + "color": "red", + "size": 6, + "symbol": "circle" + }, + "mode": "markers", + "name": "red", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "SOF6FK7/aEAAAAAAAABeQD0K16Nw/T1Aj8L1KFx/VkA9CtejcP09QEjhehSuf2FAH4XrUbj+RkCPwvUoXH9WQD0K16Nw/TlAj8L1KFx/VkAAAAAAAAB5QKRwPQrXv3JAPQrXo3D9OEA9CtejcP04QD0K16Nw/T1APQrXo3D9PUCPwvUoXH9WQB+F61G4/kZApHA9Cte/ckAfhetRuP5GQI/C9Shc/1NASOF6FK4/YECPwvUoXH9WQEjhehSuP29ASOF6FK7/aEAAAAAAAMBYQKRwPQrX/3hAPQrXo3D9M0BI4XoUrr9nQHsUrkfh+i9Aj8L1KFx/VkA9CtejcP09QI/C9Shcf1ZAPQrXo3D9PUAAAAAAAMBiQFK4HoXrL4FAAAAAAACARkB7FK5H4fopQEjhehSu/2hAPQrXo3D9OEAfhetRuP5GQD0K16Nw/ThAAAAAAAAAJECPwvUoXH9WQI/C9Shc/1NAPQrXo3D9OEB7FK5H4fopQD0K16Nw/T1Aj8L1KFz/U0AAAAAAAABeQA==", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hoverinfo": "skip", + "line": { + "color": "deepskyblue", + "dash": "dash", + "width": 2 + }, + "mode": "lines", + "showlegend": false, + "type": "scatter", + "x": [ + 0, + 549.99 + ], + "y": [ + 0, + 549.99 + ] + } + ], + "layout": { + "height": 800, + "legend": { + "title": { + "text": "color" + }, + "tracegroupgap": 0 + }, + "showlegend": false, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Model Predict results — Error: $107.41 MSE: 24,486 r²: 0.0%" + }, + "width": 1000, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "range": [ + 0, + 549.99 + ], + "title": { + "text": "Actual Price ($)" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "range": [ + 0, + 549.99 + ], + "title": { + "text": "Predicted Price ($)" + } + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "random.seed(42) \n", + "evaluate(model_predict, test_ds, size=50, workers=1)" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": ".venv (3.11.9)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} From a882b37d0f7d065a5431b25070ccb593863a26de Mon Sep 17 00:00:00 2001 From: Jonas Thamane <166150947+NathiJonas@users.noreply.github.com> Date: Mon, 9 Mar 2026 19:36:32 +0200 Subject: [PATCH 2/2] Update Jonas Thamane Week 7 PR.ipynb Fixed the output issue --- .../Jonas Thamane Week 7 PR.ipynb | 3351 +---------------- 1 file changed, 25 insertions(+), 3326 deletions(-) diff --git a/community-contributions/Jonas Thamane Week 7 PR.ipynb b/community-contributions/Jonas Thamane Week 7 PR.ipynb index 71dd36d14c..2d9701c966 100644 --- a/community-contributions/Jonas Thamane Week 7 PR.ipynb +++ b/community-contributions/Jonas Thamane Week 7 PR.ipynb @@ -16,19 +16,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "[notice] A new release of pip is available: 24.0 -> 26.0.1\n", - "[notice] To update, run: c:\\Users\\Lenovo\\projects\\llm_engineering\\.venv\\Scripts\\python.exe -m pip install --upgrade pip\n" - ] - } - ], + "outputs": [], "source": [ "import sys\n", "!{sys.executable} -m pip install -q anthropic python-dotenv huggingface_hub datasets \\\n", @@ -44,17 +34,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "✅ Imports OK\n" - ] - } - ], + "outputs": [], "source": [ "import os\n", "import re\n", @@ -85,18 +67,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model : claude-haiku-4-5-20251001\n", - "Dataset : ed-donner/items_prompts_lite\n", - "Run name : 2026-03-08_22.38.35-claude\n", - "Few-shot N : 60\n" - ] - } - ], + "outputs": [], "source": [ "\n", "BASE_MODEL = \"claude-haiku-4-5-20251001\"\n", @@ -151,22 +122,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Note: Environment variable`HF_TOKEN` is set and is the current active token independently from the token you've just configured.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "HuggingFace: logged in (hf_akelc...)\n" - ] - } - ], + "outputs": [], "source": [ "\n", "hf_token = os.getenv(\"HF_TOKEN\", \"\")\n", @@ -183,15 +139,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Anthropic: client ready (sk-ant-api03-me...)\n" - ] - } - ], + "outputs": [], "source": [ "\n", "anthropic_key = os.getenv(\"ANTHROPIC_API_KEY\", \"\")\n", @@ -215,29 +163,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Train : 20,000 items\n", - "Val : 500 items\n", - "Test : 1,000 items\n", - "\n", - "Sample train item keys: ['prompt', 'completion']\n", - "Sample prompt:\n", - "What does this cost to the nearest dollar?\n", - "\n", - "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", - "Category: Home Hardware \n", - "Brand: Schlage \n", - "Description: A single‑piece oil‑rubbed bronze knob that mounts to a deadbolt for secure, easy interior door use. \n", - "Details: Designed for a 4\" mi\n" - ] - } - ], + "outputs": [], "source": [ "dataset = load_dataset(DATASET_NAME)\n", "train_ds = dataset['train']\n", @@ -255,31 +183,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Full text:\n", - "What does this cost to the nearest dollar?\n", - "\n", - "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", - "Category: Home Hardware \n", - "Brand: Schlage \n", - "Description: A single‑piece oil‑rubbed bronze knob that mounts to a deadbolt for secure, easy interior door use. \n", - "Details: Designed for a 4\" minimum center‑to‑center door prep, it offers a lifetime mechanical and finish warranty and comes read\n", - "\n", - "Extracted price : $0.00\n", - "Description (first 200 chars):\n", - "What does this cost to the nearest dollar?\n", - "\n", - "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", - "Category: Home Hardware \n", - "Brand: Schlage \n", - "Description: A single‑piece oil‑rubbed bronz\n" - ] - } - ], + "outputs": [], "source": [ "def extract_price(text: str) -> float:\n", " \"\"\"\n", @@ -316,19 +220,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Written 60 rows → jsonl/fine_tune_train.jsonl\n", - "Written 50 rows → jsonl/fine_tune_validation.jsonl\n", - "\n", - "First JSONL line:\n", - "{\"messages\": [{\"role\": \"user\", \"content\": \"Estimate the price of this product. Respond with the price only, no explanation.\\n\\nWhat does this cost to the nearest dollar?\\n\\nTitle: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \\nCategor\n" - ] - } - ], + "outputs": [], "source": [ "def row_to_messages(row: dict) -> list[dict]:\n", " \"\"\"\n", @@ -375,32 +267,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building few-shot system prompt...\n", - "System prompt : 24,783 characters\n", - "Training rows : 60\n", - "\n", - "First 400 chars:\n", - "You are an expert retail product pricer with deep knowledge of e-commerce pricing.\n", - "When given a product description, respond with ONLY the price in the format $X.XX — no explanation, no other text.\n", - "\n", - "Here are examples of correct pricing:\n", - "\n", - "Product: What does this cost to the nearest dollar?\n", - "\n", - "Title: Schlage F59 & 613 Andover Interior Knob (Deadbolt Included) \n", - "Category: Home Hardware \n", - "Brand: Schlage...\n", - "\n", - "Memory footprint (prompt): 0.03 MB\n", - "Memory footprint (Qwen 2.5 3B @ 4-bit): ~2,100 MB\n" - ] - } - ], + "outputs": [], "source": [ "\n", "\n", @@ -441,21 +308,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LoRA config (reference):\n", - " lora_alpha : 64\n", - " lora_dropout : 0.1\n", - " r : 32\n", - " bias : none\n", - " task_type : CAUSAL_LM\n", - " target_modules : ['q_proj', 'v_proj', 'k_proj', 'o_proj']\n" - ] - } - ], + "outputs": [], "source": [ "\n", "\n", @@ -476,29 +329,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "SFTConfig (reference):\n", - " output_dir : price-2026-03-08_22.38.35-claude\n", - " num_train_epochs : 1\n", - " per_device_train_batch_size : 32\n", - " per_device_eval_batch_size : 1\n", - " gradient_accumulation_steps : 1\n", - " optim : paged_adamw_32bit\n", - " save_steps : 100\n", - " logging_steps : 5\n", - " learning_rate : 0.0001\n", - " weight_decay : 0.001\n", - " max_grad_norm : 0.3\n", - " warmup_ratio : 0.01\n", - " lr_scheduler_type : cosine\n", - " max_length : 128\n" - ] - } - ], + "outputs": [], "source": [ "\n", "\n", @@ -527,30 +358,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA9E1JREFUeJzs3QV4k+fXBvA7njRpS3F3d/chA4aNMWCwMXd3+e+bj7m7C/ONbWxsjDHchg53dy9WjSfvd50npKQuFGr377oCafImrzzRk3POo9M0TQMREREREREREdF5pD+fKyMiIiIiIiIiIhIMShERERERERER0XnHoBQREREREREREZ13DEoREREREREREdF5x6AUERERERERERGddwxKERERERERERHRecegFBERERERERERnXcMShERERERERER0XnHoBQREREREREREZ13DEoRERUynU6HZ599lseV6Dy7/vrrUbdu3SI57vKcl+c+AX369FGnkjaGJUlKSgoqV66MH374AWWFPKZatmyJkqw0vU6cOHECdrsdU6dOLepNIaISjkEpIqJSYP/+/Rg3bhw6d+6MuLg4VKxYUX2AnzVrVpbLJyQk4NZbb0WlSpXUh8q+ffti1apVmT5wvv766+jVq5darly5cujatSt+/vnnbLdD7uOSSy5B+fLlERUVpb5AvPfee3nej8mTJ6N9+/awWq2oXbs2nnnmGfj9/nTLLFiwQK2jVq1aarmqVati0KBBWLRoUZ7Xk9d1iZUrV+Liiy9W63E4HGjdurXap0AgkK/1/f7777j88stRv359dWyaNGmChx56SI3F2R73SC6XCzfddJM69rGxsWqb27Rpg3fffRc+n69Q9+/zzz9H7969UaVKFVgsFtSrVw833HAD9uzZk2lZ+SKW1emVV17J037R2ZExyW4MMp6yGr+yoCQFPeT5HB0djSuuuCLtssOHD+P//u//1Ou5XCdjOW/evCLdTio+JNgrr/W5BYUjXwvkdb1x48Z4+umn4Xa70y1boUIF3HzzzXjqqafO8ZYTUWlnLOoNICIqbSQoYDSe35fXP//8E6+++iouvfRSXHfddSq48u2332LAgAEYP368ChSEBYNBDB06FGvXrsUjjzyiAlgfffSR+kImAYpGjRqp5ZYsWYInnngCQ4YMwZNPPqn26bffflNfgjZt2qSCYJFmzJiBYcOGoV27dupDqgQ4du7ciQMHDuRpH/755x+1/bId77//PtavX48XXngB8fHx+Pjjj9OW27ZtG/R6PW6//XYVSDl16hS+//57FcT5+++/VYCqsNYlx6N79+7qmDz66KMqmCS3ve+++9S+yRfDvJIgYPXq1XH11VerIJis84MPPlC/Mkswz2azFei4Z/X427hxo7q9fAmRY7V48WI88MADWLZsGX788cdC27/Vq1erQJQECSUYunv3bhWomjJlinp8yf5Gksfjtddem+4yebzQuScBzu+++y7dZW+++aZ6fr799tuZlj0b8lpQUPL4kdcoyp4El+W5Kc9pg8GQdvnWrVvV+4A8n1u1aqVeS6h4kdd0CRwWZxKI+uKLL9T5xMRE9fni+eefV+8JGTPz5H1YfsSYM2cOLrzwwiLaYiIq8TQiIjprgUBAc7lcRXYkN2zYoB07dizdZW63W2vatKlWs2bNdJf//PPPmrz8//rrr2mXxcfHa+XKldPGjh2bdtmuXbu0PXv2pLttMBjULrzwQs1isWgpKSlplycmJmpVqlTRRowYoY5FQTRv3lxr06aN5vP50i574oknNJ1Op23evDnH26ampqr1Dxw4sFDXdcstt2hms1k7ceJEutv36tVLi4mJycfeadrcuXMzXfbNN9+osfj8888LdNzz4+6771brOnz48DnZv7AVK1ao9bz88svpLpfL7rrrLu1cuu6667Q6depoReGZZ55R+1iSDB06NNfjJY89p9OplQW9e/fWWrRooRV3v//+u3qs7dixI93lSUlJac9leX2XZbJ63SmpSsr4FFfyXJfnfG6voXa7PdNrQNeuXdX745EjRzLdpmXLlto111xT6NtLRGUHy/eIiDL0etiyZQvGjBmDmJgYlZ4uWSMZ09Zlubvvvlv9atiiRQv1y+K0adOy7Sl18OBBVVIlmSPhMqc77rgDXq83bRkp47r//vtVWZos07BhQ/Wrd16yBmQbJOMpktyHZMtIJkRycnLa5RMnTlTlViNHjkyXGSH7LL+IejwedZlsY506dTLtt2QYyTK7du1Ku1yyb44ePYoXX3xRZeakpqbmK9tBMoDkJNlEkVlmd955p3zLV9ucE8nwkX3IWAp3tutKSkpS5X1SQhepWrVqaZlNeZVVj50RI0ao/zdv3px2WX6Oe36E+/REHqPC3L+c1pMxkyvj8ymvJItLygWlNEmen506dUqX+ZWVN954Q2WDyXNZ9qlDhw6ZHk/h0ravv/460+2zej4vXLhQrVuOXYMGDfDpp59mu37J4pN1yrqlrFUy3qTctriX+EyfPh0dO3ZU2x3ev6+++kplQ0gvI3l9ad68ebrMwux6SkkJmRzHX375Rb1G1KxZUx27fv36YceOHTn2lAqPjYzjZ599po63rFuO//LlyzOt+9dff1XbJfcvpXiTJk0q9D5Vklkaft2X1/S77ror0+N9+/btGDVqlMrmlG2RfZaxl8yTsJkzZ6Jnz57q+SeZpVLS+/jjj+e6/j/++EPtjxyLSPK8kMfY2ZBsSsk2ldJfeV2V51vG0uj8vFdK1q5k2YTHTbZb9jH8PlOQ57e8fkuJomxfjRo18Nprr53VPof3Q95D5PEu4yDZqhmzQgcPHqy2S8ZKHrtLly7NlMEmmaySqSZjLsdExlfGOeOxy+rzhIyrPGblOMnjK/yZIuNniRtvvDGtZFqWk2zoc0m2T/ZD3h+zev+RDNi//vpLXU9EVBAs3yMiykA+nMoH55dffll96JTUdCkRk3K4SJKuLl+y5MOkBISy+9Jz6NAh1esp3MepadOm6oOlfDF2Op0wm83qf/kwLpffdtttqrxLSq4ee+wx1SfknXfeKdA4HTlyRH1wl1Pkh2vppSTBo0iyjfKlT8rjpPQjp/sUkUEw6V0lH9Zl+yV4IvchvaquueYaVRokH9BzItsk5EtwJPnCJ1/mwtdHkoCKBPWOHz+uxmbDhg15+kKXn3XJF2vp5SRj8uCDD6aVt0l/KOn7dLayOpaFsayQYyPHSIJAK1asUF/qJdglwc7C3j/pgyU9qPbt24fnnntOXSZf2jKSoI98oZcvL82aNVOlLFdeeWWe1iG3lS9j8iVMnhfyRV7GSr645XQfUuYk5YVXXXWVOiYTJkzA6NGjVYmhlLHml5RdXnTRReoLrHzBlC/d0o9MviRmJAEYKWWV1xTpvXLs2DFVLiqlprLtGYOBxYWUgY0dO1Y9Lm655Rb1JV1IAEqOvxxPCejKF1EJ5koAWgIzuZH+YfK68/DDD6vgjAQTZFwkEJIbCU5IcF22Sb4ky20lsC5fkk0mk1pGynelb5u8fsnrt7xuy48BErgoLDLmEnjo37+/+mFBjpUcFwmQSfBGtkUeZwMHDlSBl3vuuUcFpuS1UR5z8j4gAR8psZXgn/Rwk+eMBBgkQJeX3njy3iCv4YVN3tMk8CJBVHlMy1iFA5H//vuveo/I73ulPO6/+eYbXHbZZaqHnoy1LC+BeAkY5vf5LfcvQTMZe1m/vI9K6bGMuWx7fq1btw4XXHCBGjd5f5b9kTI1eWzL81fIWMky8h73v//9Ty0rgVp5/Zw/fz66dOmS9tiQfZN9lmMlr7/y2ivl2RK4yYkEuuV1V55PEpSTYylBTXlNleCWkB9+pL9gOIglr0Hyei2PcVmX/Kh1roT7zEmZdkbyeJH3eTlOJaUnGxEVM0WdqkVEVFyEy28uueSSdJffeeed6vK1a9emXSZ/6/V6bePGjZnuR66T+wq79tpr1bLLly/PtKykxYvnn39epcxv27Yt3fX/93//pxkMBm3fvn353p/t27drVqs1U1q9rOfGG2/MtPzff/+ttn3atGnZ3qeUhlSuXFm74IIL0l3eunVrLSoqSp3uuece7bffflP/y/1dccUVuW7r66+/rpbNaj87deqkSgcyklI9uY2cpATttttuy1MJZX7W5ff7VdmbyWRKW5eMx8cff6wVhptuukndX8Zxz+txz8lPP/2Uts1y6tixo7Zu3bp0yxTW/klZYfj2FSpU0N57771My3Tv3l175513tD///FPdv5R8yPIfffRRrvefkJCgRUdHa126dMk0xuHnUHblexlLz7xer1q3lEOG7d69W23LV199levz+dJLL1XPq71796ZdtmnTJnXcIj9WSQmmXPbiiy+mu7/169drRqMx0+XFpXxP/s7udSCrMj55HtavXz9TmZWcwqSETO6zWbNmmsfjSbv83XffVZfLMcluDMNjI4+rkydPpl0ujyO5/K+//kq7rFWrVqpcOTk5Oe2yefPmqeXyUtaZW3mYlDnLa81FF12Urkz5gw8+UOsYP368+nv16tWZSqQzevvtt9UyGcuucyMlx1JG9dBDD+W4XH7L9+R51KhRIzWekc8pGfN69eppAwYMyPd75Zo1a9TfN998c7rlHn74YXX5nDlz8vX8lvGR23377bdpl8njqWrVqtqoUaO0gpBSZVl35PM543rlOS/jvnPnzrTLDh06pG4ntw+TkvDcyuOyKvMNv4dFlmPKMZTL33///XTvF9WqVdOOHz+e7vbyHhsbG5trmW1+yvfkcSkn2aY33nhDPebk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tLnOheZdgl0WQwGDUkRERERERER0xXUYZYIlXINGnQ0wmi8/IFUeiS59fe61YPoLDhza6s8bxbDf/RbEt9YhLc2JUMKgFBERERERERFd+QCEQZM3Gl0oa3GNEbuX+ZCdpqD7bWY06mKQWWOiplioYVCKiIiIiIiIiKiUaLUa3PBSGN9v8V7wXSAiIiIiIiIiotLGoBQREREREREREZU6BqWIiIiIiIiIiKjUMShFRERERERERESljkEpIiIiIiIiIiIqdQxKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlCIiIiIiIiIiolLHoBQREREREREREZU6BqWIiIiIiIiIiKjU6RFiVFWVt9nZ2ShPFEVBTk4OzGYztFrGEkMN2z+0sf1DF9s+tLH9QxvbP7Sx/UMX2z60KRXoe39uzCU3BlOUkAtKiQYWatWqVdaHQkRERERERERUoWMwkZGRRS7XqBcKW1XAyOOxY8cQHh4OjUaD8hRlFIG0w4cPIyIioqwPh0oZ2z+0sf1DF9s+tLH9QxvbP7Sx/UMX2z60ZVeg7/0i1CQCUtWrVz9v1lfIZUqJN6NmzZoor8QfZnn/46RLx/YPbWz/0MW2D21s/9DG9g9tbP/QxbYPbREV5Hv/+TKkcpXvTopERERERERERFQuMShFRERERERERESljkGpcsJkMuGFF16QtxR62P6hje0futj2oY3tH9rY/qGN7R+62PahzRSC3/tDrtA5ERERERERERGVPWZKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlConPvjgA9SpUwdmsxkdO3bE2rVry/qQqIRNnDgR7du3R3h4OKpVq4YRI0Zgz549+dbp1asXNBpNvumBBx5gW1QAL774YoG2bdKkSd5yt9uNhx56CJUrV0ZYWBhGjx6N48ePl+kxU8kRn+/ntr+YRJsLPPcrjqVLl2Lo0KGoXr26bOOZM2fmWy5KfT7//POIi4uDxWJB3759sXfv3nzrZGRk4NZbb0VERASioqJw9913w263l/IroZJuf5/Ph6effhotW7aEzWaT64wZMwbHjh274OfFa6+9xgapAOf/HXfcUaBtBw4cmG8dnv8Vt/0Luw4Q0+uvv563Ds//ivs9z12Ma/3k5GQMHjwYVqtV7ufJJ5+E3+9HecegVDnw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kqNHj5bBafHZ/9RTT6FBgwaymLHA879if/7n/hAxffp0vPnmmwW25/lfcb/nRRbjWr9///4y+HT77bdj0qRJch//+te/5L7Lfdftsh7+j4rn/fffV2vXrq0ajUa1Q4cO6urVq/nWVTDidCxs+vLLL+Xy5ORktUePHmqlSpXk8OANGjRQn3zySTUrK6usD51KwI033qjGxcXJc7xGjRry8b59+/KWu1wu9R//+IcaHR2tWq1WdeTIkWpKSgrf+wpk3rx58pzfs2dPvvk89yuWRYsWFfpZL4aCFxRFUZ977jk1JiZGftb36dOnwN/EyZMn1ZtvvlkNCwuTQ0Hfeeedak5OThm9Iiqp9k9KSiryWkBsJ2zYsEHt2LGjGhkZqZrNZrVp06bqf/7zH9XtdrMhynn7O51OtX///mrVqlXl0PDx8fHqvffem2/4d4Hnf8X9/Bc+/vhj1WKxqJmZmQW25/lfcb/nFfda/+DBg+qgQYPk30iVKlXUxx9/XPX5fGp5pxH/K+vAGBERERERERERhRbWlCIiIiIiIiIiolLHoBQREREREREREZU6BqWIiIiIiIiIiKjUMShFRERERERERESljkEpIiIiIiIiIiIqdQxKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlCIiIiIiIiIiolLHoBQRERFRKUpPT8eDDz6I2rVrw2QyITY2FgMGDMCKFSvkco1Gg5kzZ7JNiIiIqMLTl/UBEBEREYWS0aNHw+v14quvvkK9evVw/PhxLFiwACdPnizrQyMiIiIqVRpVVdXSfUoiIiKi0JSZmYno6GgsXrwYPXv2LLC8Tp06OHToUN7j+Ph4HDx4UN7/9ddf8dJLL2Hnzp2oXr06xo4di2effRZ6vT4vw+rDDz/Eb7/9JvcfFxeHSZMm4brrrivFV0hERERUfOy+R0RERFRKwsLC5CS653k8ngLL161bJ2+//PJLpKSk5D1etmwZxowZg0cffVQGpT7++GNMmTIFr776ar7tn3vuOZmJtWXLFtx666246aabsGvXrlJ6dUREREQXh5lSRERERKXo559/xr333guXy4XExESZMSWCR61atQpenGk0mDFjBkaMGJG3Td++fdGnTx9MmDAhb97UqVPx1FNP4dixY3nbPfDAA5g8eXLeOp06dZLPITKoiIiIiK42zJQiIiIiKkUik0kEkkQ3u4EDB8qudiJwJDKfiiIyn15++eW8TCsxicCWyKZyOp1563Xu3DnfduIxM6WIiIjoasVC50RERESlzGw2o1+/fnISXe7uuecevPDCC7jjjjsKXd9ut8t6UqNGjSp0X0RERETlETOliIiIiMpYs2bN4HA45H2DwYBAIJBvucik2rNnDxo0aFBg0mrPXM6tXr0633bicdOmTUvpVRARERFdHGZKEREREZWSkydP4vrrr8ddd90la0iFh4dj/fr1cpS84cOH543At2DBAnTt2hUmk0mO1vf8889jyJAhqF27thxNTwSiRJe+7du345VXXsnb//Tp09GuXTt069YN06ZNw9q1a/H555+zfYmIiOiqxELnRERERKVEjLj34osv4s8//8T+/fvh8/lQq1YtGah65plnYLFYMGvWLIwfPx4HDx5EjRo15K0wb948WVdq06ZNMpuqSZMmstufqC0lL+o0GnzwwQdyZL+lS5ciLi4O//3vf3HDDTewfYmIiOiqxKAUERERUQVQ2Kh9RERERFcz1pQiIiIiIiIiIqJSx6AUERERERERERGVOhY6JyIiIqoAVFUt60MgIiIiuijMlCIiIiIiIiIiolLHoBQREREREREREZU6BqWIiIiIiIiIiKjUMShFRERERERERESljkEpIiIiIiIiIiIqdQxKERERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOoYlCIiIiIiIiIiIpS2/weQTx9usbqZfwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Final train loss : 0.9122\n", - "Final val loss : 0.9552\n", - "\n", - "✅ Few-shot prompt ready — equivalent to a fine-tuned model checkpoint\n", - " Saved to: price-2026-03-08_22.38.35-claude (local)\n" - ] - } - ], + "outputs": [], "source": [ "\n", "\n", @@ -604,21 +412,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Training summary:\n", - " run_name : 2026-03-08_22.38.35-claude\n", - " model : claude-haiku-4-5-20251001\n", - " dataset : ed-donner/items_prompts_lite\n", - " n_few_shot : 60\n", - " final_train_loss : 0.9122\n", - " final_val_loss : 0.9552\n" - ] - } - ], + "outputs": [], "source": [ "\n", "\n", @@ -639,21 +433,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Fine-tuned model loaded:\n", - " type : claude_few_shot\n", - " base_model : claude-haiku-4-5-20251001\n", - " n_examples : 60\n", - " hub_model_name : your_hf_username/price-2026-03-08_22.38.35-claude\n", - " revision : None\n", - " system_prompt : 24,783 chars (60 examples)\n" - ] - } - ], + "outputs": [], "source": [ "\n", "fine_tuned_model = {\n", @@ -676,21 +456,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " \"type\": \"claude_few_shot\",\n", - " \"base_model\": \"claude-haiku-4-5-20251001\",\n", - " \"n_examples\": 60,\n", - " \"hub_model_name\": \"your_hf_username/price-2026-03-08_22.38.35-claude\",\n", - " \"revision\": null\n", - "}\n" - ] - } - ], + "outputs": [], "source": [ "\n", "print(json.dumps({k: v for k, v in fine_tuned_model.items() if k != \"system_prompt\"}, indent=2))" @@ -719,15 +485,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "✅ model_predict defined\n" - ] - } - ], + "outputs": [], "source": [ "def model_predict(item: dict) -> str:\n", " \"\"\"\n", @@ -764,16 +522,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Actual price : $0.00\n", - "Claude pred : $199.00\n" - ] - } - ], + "outputs": [], "source": [ "\n", "\n", @@ -787,23 +536,9 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Actual Predicted Description\n", - "----------------------------------------------------------------------\n", - "$ 0.00 $199.00 What does this cost to the nearest dolla\n", - "$ 0.00 $150.00 What does this cost to the nearest dolla\n", - "$ 0.00 $29.99 What does this cost to the nearest dolla\n", - "$ 0.00 $45.99 What does this cost to the nearest dolla\n", - "$ 0.00 $49.99 What does this cost to the nearest dolla\n" - ] - } - ], + "outputs": [], "source": [ "# Quick test on first 5 items\n", "print(f\"{'Actual':>10} {'Predicted':>12} Description\")\n", @@ -818,17 +553,9 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "✅ Tester & evaluate defined\n" - ] - } - ], + "outputs": [], "source": [ "GREEN = \"\\033[92m\"\n", "YELLOW = \"\\033[93m\"\n", @@ -1005,3035 +732,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - " 0%| | 0/50 [00:00Avg=$%{y:,.2f}
±95%%CI=$%{customdata[0]:,.2f}", - "line": { - "color": "firebrick", - "width": 3 - }, - "mode": "lines", - "name": "Cumulative Avg Error", - "type": "scatter", - "x": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50 - ], - "y": [ - 199.99, - 159.995, - 116.66000000000001, - 109.9925, - 93.992, - 101.65833333333335, - 93.7057142857143, - 93.24125000000001, - 85.7688888888889, - 86.191, - 114.71909090909092, - 130.15833333333333, - 122.06846153846155, - 115.13428571428572, - 109.45800000000001, - 104.49125000000001, - 103.63823529411765, - 100.43555555555557, - 110.93842105263157, - 107.69099999999999, - 106.37190476190474, - 107.44545454545451, - 106.6865217391304, - 112.65749999999996, - 116.15079999999995, - 115.4911538461538, - 126.02814814814809, - 122.24107142857136, - 124.57724137931028, - 120.9576666666666, - 119.95870967741928, - 117.14718749999992, - 116.32424242424234, - 113.78499999999991, - 114.8197142857142, - 126.90777777777768, - 124.69405405405396, - 121.75447368421044, - 123.76051282051273, - 121.2912499999999, - 119.45463414634136, - 117.20547619047609, - 114.71232558139525, - 114.15045454545444, - 113.39133333333322, - 111.46956521739119, - 109.37425531914883, - 107.72041666666655, - 107.15448979591825, - 107.41139999999989 - ] - } - ], - "layout": { - "height": 360, - "showlegend": false, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "white", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "white", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "#C8D4E3", - "linecolor": "#C8D4E3", - "minorgridcolor": "#C8D4E3", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "#C8D4E3", - "linecolor": "#C8D4E3", - "minorgridcolor": "#C8D4E3", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "white", - "showlakes": true, - "showland": true, - "subunitcolor": "#C8D4E3" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "white", - "polar": { - "angularaxis": { - "gridcolor": "#EBF0F8", - "linecolor": "#EBF0F8", - "ticks": "" - }, - "bgcolor": "white", - "radialaxis": { - "gridcolor": "#EBF0F8", - "linecolor": "#EBF0F8", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "white", - "gridcolor": "#DFE8F3", - "gridwidth": 2, - "linecolor": "#EBF0F8", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#EBF0F8" - }, - "yaxis": { - "backgroundcolor": "white", - "gridcolor": "#DFE8F3", - "gridwidth": 2, - "linecolor": "#EBF0F8", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#EBF0F8" - }, - "zaxis": { - "backgroundcolor": "white", - "gridcolor": "#DFE8F3", - "gridwidth": 2, - "linecolor": "#EBF0F8", - "showbackground": true, - "ticks": "", - "zerolinecolor": "#EBF0F8" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "#DFE8F3", - "linecolor": "#A2B1C6", - "ticks": "" - }, - "baxis": { - "gridcolor": "#DFE8F3", - "linecolor": "#A2B1C6", - "ticks": "" - }, - "bgcolor": "white", - "caxis": { - "gridcolor": "#DFE8F3", - "linecolor": "#A2B1C6", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "#EBF0F8", - "linecolor": "#EBF0F8", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#EBF0F8", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "#EBF0F8", - "linecolor": "#EBF0F8", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "#EBF0F8", - "zerolinewidth": 2 - } - } - }, - "title": { - "text": "Model Predict Error: $107.41 ± $31.54" - }, - "width": 1000, - "xaxis": { - "title": { - "text": "Number of Datapoints" - } - }, - "yaxis": { - "title": { - "text": "Average Absolute Error ($)" - } - } - } - } - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "customdata": [ - [ - "What does this cost to the nearest dolla...\nGuess=$199.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$120.00 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$139.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$25.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$400.00 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$299.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$299.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$79.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$129.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$249.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$199.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$99.00 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$399.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$19.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$189.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$15.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$150.00 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$549.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$45.00 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$12.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$199.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$45.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$10.00 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$89.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$79.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$24.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$12.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$29.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$79.99 Actual=$0.00" - ], - [ - "What does this cost to the nearest dolla...\nGuess=$120.00 Actual=$0.00" - ] - ], - "hovertemplate": "%{customdata[0]}", - "legendgroup": "red", - "marker": { - "color": "red", - "size": 6, - "symbol": "circle" - }, - "mode": "markers", - "name": "red", - "orientation": "v", - "showlegend": true, - "type": "scatter", - "x": { - "bdata": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "dtype": "f8" - }, - "xaxis": "x", - "y": { - "bdata": "SOF6FK7/aEAAAAAAAABeQD0K16Nw/T1Aj8L1KFx/VkA9CtejcP09QEjhehSuf2FAH4XrUbj+RkCPwvUoXH9WQD0K16Nw/TlAj8L1KFx/VkAAAAAAAAB5QKRwPQrXv3JAPQrXo3D9OEA9CtejcP04QD0K16Nw/T1APQrXo3D9PUCPwvUoXH9WQB+F61G4/kZApHA9Cte/ckAfhetRuP5GQI/C9Shc/1NASOF6FK4/YECPwvUoXH9WQEjhehSuP29ASOF6FK7/aEAAAAAAAMBYQKRwPQrX/3hAPQrXo3D9M0BI4XoUrr9nQHsUrkfh+i9Aj8L1KFx/VkA9CtejcP09QI/C9Shcf1ZAPQrXo3D9PUAAAAAAAMBiQFK4HoXrL4FAAAAAAACARkB7FK5H4fopQEjhehSu/2hAPQrXo3D9OEAfhetRuP5GQD0K16Nw/ThAAAAAAAAAJECPwvUoXH9WQI/C9Shc/1NAPQrXo3D9OEB7FK5H4fopQD0K16Nw/T1Aj8L1KFz/U0AAAAAAAABeQA==", - "dtype": "f8" - }, - "yaxis": "y" - }, - { - "hoverinfo": "skip", - "line": { - "color": "deepskyblue", - "dash": "dash", - "width": 2 - }, - "mode": "lines", - "showlegend": false, - "type": "scatter", - "x": [ - 0, - 549.99 - ], - "y": [ - 0, - 549.99 - ] - } - ], - "layout": { - "height": 800, - "legend": { - "title": { - "text": "color" - }, - "tracegroupgap": 0 - }, - "showlegend": false, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "title": { - "text": "Model Predict results — Error: $107.41 MSE: 24,486 r²: 0.0%" - }, - "width": 1000, - "xaxis": { - "anchor": "y", - "domain": [ - 0, - 1 - ], - "range": [ - 0, - 549.99 - ], - "title": { - "text": "Actual Price ($)" - } - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0, - 1 - ], - "range": [ - 0, - 549.99 - ], - "title": { - "text": "Predicted Price ($)" - } - } - } - } - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "\n", "random.seed(42) \n",