diff --git a/.github/nb_scripts/fix_login.ipynb b/.github/nb_scripts/fix_login.ipynb
new file mode 100644
index 00000000..2559088f
--- /dev/null
+++ b/.github/nb_scripts/fix_login.ipynb
@@ -0,0 +1,247 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import nbformat\n",
+ "from pathlib import Path\n",
+ "from nb_helpers.utils import find_nbs"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "152"
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nbs_paths = find_nbs(\"../../\")\n",
+ "len(nbs_paths)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Path('/Users/tcapelle/work/examples/colabs/boosting/Credit_Scorecards_with_XGBoost_and_W&B.ipynb')"
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nb_path = nbs_paths[3]\n",
+ "nb_path\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "nb = nbformat.read(nb_path, 4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "18"
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "login_idx = idx_login_cell(nb, delete_line=False)\n",
+ "login_idx"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "login_code = \"wandb.login()\" # or !wandb login\n",
+ "\n",
+ "def insert_login_cell(nb, idx, code=login_code, replace=True):\n",
+ " n_cells = len(nb[\"cells\"])\n",
+ " login_cell = nbformat.v4.new_code_cell(source=code)\n",
+ " nb[\"cells\"].insert(idx+1, login_cell)\n",
+ " return nb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "nb = insert_login_cell(nb, login_idx)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'cell_type': 'code',\n",
+ " 'execution_count': None,\n",
+ " 'metadata': {},\n",
+ " 'outputs': [],\n",
+ " 'source': '!wandb login'}"
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nb[\"cells\"][login_idx] "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'id': 'ff6708eb',\n",
+ " 'cell_type': 'code',\n",
+ " 'metadata': {},\n",
+ " 'execution_count': None,\n",
+ " 'source': '!wandb login',\n",
+ " 'outputs': []}"
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nb[\"cells\"][login_idx+1] "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'attachments': {},\n",
+ " 'cell_type': 'markdown',\n",
+ " 'metadata': {},\n",
+ " 'source': '## Vehicle Loan Dataset\\n\\nWe will be using a simplified version of the [Vehicle Loan Default Prediction dataset](https://www.kaggle.com/sneharshinde/ltfs-av-data) from L&T which has been stored in W&B Artifacts. '}"
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nb[\"cells\"][login_idx+2] "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def remove_properties(nb, props=[\"id\", \"idx_\", \"path_\"]):\n",
+ " for cell in nb[\"cells\"]:\n",
+ " for prop in props:\n",
+ " cell.pop(prop, None)\n",
+ " return nb\n",
+ "\n",
+ "def remove_empty_cells(nb):\n",
+ " nb[\"cells\"] = [cell for cell in nb[\"cells\"] if cell[\"source\"] != \"\"]\n",
+ " return nb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "nb = remove_properties(nb)\n",
+ "nb = remove_empty_cells(nb)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "for nb_path in nbs_paths:\n",
+ " nb = nbformat.read(nb_path, 4)\n",
+ " login_idx = idx_login_cell(nb)\n",
+ " if login_idx is not None:\n",
+ " nb = insert_login_cell(nb, login_idx)\n",
+ " # delete path_ attribute\n",
+ " nb.pop(\"path_\", None)\n",
+ " nb = remove_properties(nb)\n",
+ " nb = remove_empty_cells(nb)\n",
+ " nbformat.validate(nb)\n",
+ " nbformat.write(nb, nb_path)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "nbdev2",
+ "language": "python",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/W&B_Prompts_with_Custom_Columns.ipynb b/W&B_Prompts_with_Custom_Columns.ipynb
deleted file mode 100644
index f1252f0c..00000000
--- a/W&B_Prompts_with_Custom_Columns.ipynb
+++ /dev/null
@@ -1,632 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "e-ZYaV5KGVmA"
- },
- "source": [
- "\n",
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "gJSVEAGWGVmA"
- },
- "source": [
- "\n",
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9f7yMKLwGVmA"
- },
- "source": [
- "**[Weights & Biases Prompts](https://docs.wandb.ai/guides/prompts?utm_source=code&utm_medium=colab&utm_campaign=prompts)** is a suite of LLMOps tools built for the development of LLM-powered applications.\n",
- "\n",
- "Use W&B Prompts to visualize and inspect the execution flow of your LLMs, analyze the inputs and outputs of your LLMs, view the intermediate results and securely store and manage your prompts and LLM chain configurations.\n",
- "\n",
- "#### [🪄 View Prompts In Action](https://wandb.ai/timssweeney/prompts-demo/)\n",
- "\n",
- "**In this notebook we will demostrate W&B Prompts:**\n",
- "\n",
- "- Using our 1-line LangChain integration\n",
- "- Using our Trace class when building your own LLM Pipelines\n",
- "\n",
- "See here for the full [W&B Prompts documentation](https://docs.wandb.ai/guides/prompts)\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "A4wI3b_8GVmB"
- },
- "source": [
- "## Installation"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "id": "nDoIqQ8_GVmB"
- },
- "outputs": [],
- "source": [
- "!pip install \"wandb>=0.15.4\" -qqq\n",
- "!pip install \"langchain>=0.0.218\" openai -qqq"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "id": "PcGiSWBSGVmB"
- },
- "outputs": [],
- "source": [
- "import langchain\n",
- "assert langchain.__version__ >= \"0.0.218\", \"Please ensure you are using LangChain v0.0.188 or higher\""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "pbmQIsjJGVmB"
- },
- "source": [
- "## Setup\n",
- "\n",
- "This demo requires that you have an [OpenAI key](https://platform.openai.com)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "id": "ZH4g2B0lGVmB",
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "outputId": "22295db6-5369-474d-a8ea-fb45c4c92085"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Paste your OpenAI key from: https://platform.openai.com/account/api-keys\n",
- "··········\n",
- "OpenAI API key configured\n"
- ]
- }
- ],
- "source": [
- "import os\n",
- "from getpass import getpass\n",
- "\n",
- "if os.getenv(\"OPENAI_API_KEY\") is None:\n",
- " os.environ[\"OPENAI_API_KEY\"] = getpass(\"Paste your OpenAI key from: https://platform.openai.com/account/api-keys\\n\")\n",
- "assert os.getenv(\"OPENAI_API_KEY\", \"\").startswith(\"sk-\"), \"This doesn't look like a valid OpenAI API key\"\n",
- "print(\"OpenAI API key configured\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "79KOB2EhGVmB"
- },
- "source": [
- "# W&B Prompts\n",
- "\n",
- "W&B Prompts consists of three main components:\n",
- "\n",
- "**Trace table**: Overview of the inputs and outputs of a chain.\n",
- "\n",
- "**Trace timeline**: Displays the execution flow of the chain and is color-coded according to component types.\n",
- "\n",
- "**Model architecture**: View details about the structure of the chain and the parameters used to initialize each component of the chain.\n",
- "\n",
- "After running this section, you will see a new panel automatically created in your workspace, showing each execution, the trace, and the model architecture"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "5kxmdm3zGVmC"
- },
- "source": [
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9u97K5vVGVmC"
- },
- "source": [
- "## Maths with LangChain"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "oneRFmv6GVmC"
- },
- "source": [
- "Set the `LANGCHAIN_WANDB_TRACING` environment variable as well as any other relevant [W&B environment variables](https://docs.wandb.ai/guides/track/environment-variables). This could includes a W&B project name, team name, and more. See [wandb.init](https://docs.wandb.ai/ref/python/init) for a full list of arguments."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "id": "ACl-rMtAGVmC"
- },
- "outputs": [],
- "source": [
- "os.environ[\"LANGCHAIN_WANDB_TRACING\"] = \"true\"\n",
- "os.environ[\"WANDB_PROJECT\"] = \"langchain-testing\""
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "id": "csp3MXG4GVmC"
- },
- "outputs": [],
- "source": [
- "from langchain.chat_models import ChatOpenAI\n",
- "from langchain.agents import load_tools, initialize_agent, AgentType"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "2hWU2GcAGVmC"
- },
- "source": [
- "Create a standard math Agent using LangChain"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "id": "l_JkVMlRGVmC"
- },
- "outputs": [],
- "source": [
- "llm = ChatOpenAI(temperature=0)\n",
- "tools = load_tools([\"llm-math\"], llm=llm)\n",
- "math_agent = initialize_agent(tools,\n",
- " llm,\n",
- " agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9FFviwCPGVmC"
- },
- "source": [
- "Use LangChain as normal by calling your Agent.\n",
- "\n",
- " You will see a Weights & Biases run start and you will be asked for your [Weights & Biases API key](wwww.wandb.ai/authorize). Once your enter your API key, the inputs and outputs of your Agent calls will start to be streamed to the Weights & Biases App."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "id": "y-RHjVN4GVmC",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 178
- },
- "outputId": "5ccd5f32-6137-46c3-9abd-d458dbdbacca"
- },
- "outputs": [
- {
- "output_type": "stream",
- "name": "stderr",
- "text": [
- "\u001b[34m\u001b[1mwandb\u001b[0m: Streaming LangChain activity to W&B at https://wandb.ai/carey/langchain-testing/runs/lcznj5lg\n",
- "\u001b[34m\u001b[1mwandb\u001b[0m: `WandbTracer` is currently in beta.\n",
- "\u001b[34m\u001b[1mwandb\u001b[0m: Please report any issues to https://github.com/wandb/wandb/issues with the tag `langchain`.\n"
- ]
- },
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "LLMMathChain._evaluate(\"\n",
- "import math\n",
- "math.sqrt(5.4)\n",
- "\") raised error: invalid syntax (, line 1). Please try again with a valid numerical expression\n",
- "0.005720801417544866\n",
- "0.15096209512635608\n"
- ]
- }
- ],
- "source": [
- "# some sample maths questions\n",
- "questions = [\n",
- " \"Find the square root of 5.4.\",\n",
- " \"What is 3 divided by 7.34 raised to the power of pi?\",\n",
- " \"What is the sin of 0.47 radians, divided by the cube root of 27?\"\n",
- "]\n",
- "\n",
- "for question in questions:\n",
- " try:\n",
- " # call your Agent as normal\n",
- " answer = math_agent.run(question)\n",
- " print(answer)\n",
- " except Exception as e:\n",
- " # any errors will be also logged to Weights & Biases\n",
- " print(e)\n",
- " pass"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "SNYFSaUrGVmC"
- },
- "source": [
- "Once each Agent execution completes, all calls in your LangChain object will be logged to Weights & Biases"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "m0bL1xpkGVmC"
- },
- "source": [
- "### LangChain Context Manager\n",
- "Depending on your use case, you might instead prefer to use a context manager to manage your logging to W&B.\n",
- "\n",
- "**✨ New: Custom columns** can be logged directly to W&B to display in the same Trace Table with this snippet:\n",
- "```python\n",
- "import wandb\n",
- "wandb.log(custom_metrics_dict, commit=False})\n",
- "```\n",
- "Use `commit=False` to make sure that metadata is logged to the same row of the Trace Table as the LangChain output."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "id": "7i9Pj1NKGVmC",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 35
- },
- "outputId": "b44f3ae7-fd49-437f-af7b-fb8f82056bd0"
- },
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- "'1.0891804557407723'"
- ],
- "application/vnd.google.colaboratory.intrinsic+json": {
- "type": "string"
- }
- },
- "metadata": {},
- "execution_count": 10
- }
- ],
- "source": [
- "from langchain.callbacks import wandb_tracing_enabled\n",
- "import wandb # To enable custom column logging with wandb.run.log()\n",
- "\n",
- "# unset the environment variable and use a context manager instead\n",
- "if \"LANGCHAIN_WANDB_TRACING\" in os.environ:\n",
- " del os.environ[\"LANGCHAIN_WANDB_TRACING\"]\n",
- "\n",
- "# enable tracing using a context manager\n",
- "with wandb_tracing_enabled():\n",
- " for i in range (10):\n",
- " # Log any custom columns you'd like to add to the Trace Table\n",
- " wandb.log({\"custom_column\": i}, commit=False)\n",
- " try:\n",
- " math_agent.run(f\"What is {i} raised to .123243 power?\") # this should be traced\n",
- " except:\n",
- " pass\n",
- "\n",
- "math_agent.run(\"What is 2 raised to .123243 power?\") # this should not be traced"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "JDLzoorhGVmC"
- },
- "source": [
- "# Non-Lang Chain Implementation\n",
- "\n",
- "\n",
- "A W&B Trace is created by logging 1 or more \"spans\". A root span is expected, which can accept nested child spans, which can in turn accept their own child spans. A Span represents a unit of work, Spans can have type `AGENT`, `TOOL`, `LLM` or `CHAIN`\n",
- "\n",
- "When logging with Trace, a single W&B run can have multiple calls to a LLM, Tool, Chain or Agent logged to it, there is no need to start a new W&B run after each generation from your model or pipeline, instead each call will be appended to the Trace Table.\n",
- "\n",
- "In this quickstart, we will how to log a single call to an OpenAI model to W&B Trace as a single span. Then we will show how to log a more complex series of nested spans.\n",
- "\n",
- "## Logging with W&B Trace\n",
- "A high-level Trace api is available from the [`wandb-addon`](https://github.com/soumik12345/wandb-addons) community library from [@soumik12345](https://github.com/soumik12345). This will be replaced by a wandb-native integration shortly."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "FO3Kf2ngGVmC"
- },
- "outputs": [],
- "source": [
- "# Install wandb-addons\n",
- "!git clone https://github.com/soumik12345/wandb-addons.git\n",
- "!pip install ./wandb-addons[prompts] openai wandb -qqq"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "7z98yfoqGVmD"
- },
- "source": [
- "Call wandb.init to start a W&B run. Here you can pass a W&B project name as well as an entity name (if logging to a W&B Team), as well as a config and more. See wandb.init for the full list of arguments.\n",
- "\n",
- "You will see a Weights & Biases run start and be asked for your [Weights & Biases API key](wwww.wandb.ai/authorize). Once your enter your API key, the inputs and outputs of your Agent calls will start to be streamed to the Weights & Biases App.\n",
- "\n",
- "**Note:** A W&B run supports logging as many traces you needed to a single run, i.e. you can make multiple calls of `run.log` without the need to create a new run each time"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "ZcvgzZ55GVmD"
- },
- "outputs": [],
- "source": [
- "import wandb\n",
- "\n",
- "# start a wandb run to log to\n",
- "wandb.init(project=\"trace-example\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "4_3Wrg2YGVmD"
- },
- "source": [
- "You can also set the entity argument in wandb.init if logging to a W&B Team.\n",
- "\n",
- "### Logging a single Span\n",
- "Now we will query OpenAI times and log the results to a W&B Trace. We will log the inputs and outputs, start and end times, whether the OpenAI call was successful, the token usage, and additional metadata.\n",
- "\n",
- "You can see the full description of the arguments to the Trace class [here](https://soumik12345.github.io/wandb-addons/prompts/tracer/)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "q2pkMhpMGVmD"
- },
- "outputs": [],
- "source": [
- "import openai\n",
- "import datetime\n",
- "from wandb_addons.prompts import Trace\n",
- "\n",
- "openai.api_key = os.environ[\"OPENAI_API_KEY\"]\n",
- "\n",
- "# define your conifg\n",
- "model_name = \"gpt-3.5-turbo\"\n",
- "temperature = 0.7\n",
- "system_message = \"You are a helpful assistant that always replies in 3 concise bullet points using markdown.\"\n",
- "\n",
- "queries_ls = [\n",
- " \"What is the capital of France?\",\n",
- " \"How do I boil an egg?\" * 10000, # deliberately trigger an openai error\n",
- " \"What to do if the aliens arrive?\"\n",
- "]\n",
- "\n",
- "for query in queries_ls:\n",
- " messages=[\n",
- " {\"role\": \"system\", \"content\": system_message},\n",
- " {\"role\": \"user\", \"content\": query}\n",
- " ]\n",
- "\n",
- " start_time_ms = datetime.datetime.now().timestamp() * 1000\n",
- " try:\n",
- " response = openai.ChatCompletion.create(model=model_name,\n",
- " messages=messages,\n",
- " temperature=temperature\n",
- " )\n",
- "\n",
- " end_time_ms = round(datetime.datetime.now().timestamp() * 1000) # logged in milliseconds\n",
- " status=\"success\"\n",
- " status_message=None,\n",
- " response_text = response[\"choices\"][0][\"message\"][\"content\"]\n",
- " token_usage = response[\"usage\"].to_dict()\n",
- "\n",
- "\n",
- " except Exception as e:\n",
- " end_time_ms = round(datetime.datetime.now().timestamp() * 1000) # logged in milliseconds\n",
- " status=\"error\"\n",
- " status_message=str(e)\n",
- " response_text = \"\"\n",
- " token_usage = {}\n",
- "\n",
- " # create a span in wandb\n",
- " root_span = Trace(\n",
- " name=\"root_span\",\n",
- " kind=\"llm\", # kind can be \"llm\", \"chain\", \"agent\" or \"tool\"\n",
- " status_code=status,\n",
- " status_message=status_message,\n",
- " metadata={\"temperature\": temperature,\n",
- " \"token_usage\": token_usage,\n",
- " \"model_name\": model_name},\n",
- " start_time_ms=start_time_ms,\n",
- " end_time_ms=end_time_ms,\n",
- " inputs={\"system_prompt\": system_message, \"query\": query},\n",
- " outputs={\"response\": response_text},\n",
- " )\n",
- "\n",
- " # log the span to wandb\n",
- " root_span.log(name=\"openai_trace\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "XFcwFgaDGVmD"
- },
- "source": [
- "### Logging a LLM pipeline using nested Spans\n",
- "\n",
- "In this example we will simulate an Agent being called, which then calls a LLM Chain, which calls an OpenAI LLM and then the Agent \"calls\" a Calculator tool.\n",
- "\n",
- "The inputs, outputs and metadata for each step in the execution of our \"Agent\" is logged in its own span. Spans can have child"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "ACMaGuYUGVmD"
- },
- "outputs": [],
- "source": [
- "import time\n",
- "\n",
- "openai.api_key = os.environ[\"OPENAI_API_KEY\"]\n",
- "\n",
- "# The query our agent has to answer\n",
- "query = \"How many days until the next US election?\"\n",
- "\n",
- "# part 1 - an Agent is started...\n",
- "start_time_ms = round(datetime.datetime.now().timestamp() * 1000)\n",
- "\n",
- "root_span = Trace(\n",
- " name=\"MyAgent\",\n",
- " kind=\"agent\",\n",
- " start_time_ms=start_time_ms,\n",
- " metadata={\"user\": \"optimus_12\"})\n",
- "\n",
- "\n",
- "# part 2 - The Agent calls into a LLMChain..\n",
- "chain_span = Trace(\n",
- " name=\"LLMChain\",\n",
- " kind=\"chain\",\n",
- " start_time_ms=start_time_ms)\n",
- "\n",
- "# add the Chain span as a child of the root\n",
- "root_span.add_child(chain_span)\n",
- "\n",
- "\n",
- "# part 3 - the LLMChain calls an OpenAI LLM...\n",
- "messages=[\n",
- " {\"role\": \"system\", \"content\": system_message},\n",
- " {\"role\": \"user\", \"content\": query}\n",
- "]\n",
- "\n",
- "response = openai.ChatCompletion.create(model=model_name,\n",
- " messages=messages,\n",
- " temperature=temperature)\n",
- "\n",
- "llm_end_time_ms = round(datetime.datetime.now().timestamp() * 1000)\n",
- "response_text = response[\"choices\"][0][\"message\"][\"content\"]\n",
- "token_usage = response[\"usage\"].to_dict()\n",
- "\n",
- "llm_span = Trace(\n",
- " name=\"OpenAI\",\n",
- " kind=\"llm\",\n",
- " status_code=\"success\",\n",
- " metadata={\"temperature\":temperature,\n",
- " \"token_usage\": token_usage,\n",
- " \"model_name\":model_name},\n",
- " start_time_ms=start_time_ms,\n",
- " end_time_ms=llm_end_time_ms,\n",
- " inputs={\"system_prompt\":system_message, \"query\":query},\n",
- " outputs={\"response\": response_text},\n",
- " )\n",
- "\n",
- "# add the LLM span as a child of the Chain span...\n",
- "chain_span.add_child(llm_span)\n",
- "\n",
- "# update the end time of the Chain span\n",
- "chain_span.add_inputs_and_outputs(\n",
- " inputs={\"query\":query},\n",
- " outputs={\"response\": response_text})\n",
- "\n",
- "# update the Chain span's end time\n",
- "chain_span._span.end_time_ms = llm_end_time_ms\n",
- "\n",
- "\n",
- "# part 4 - the Agent then calls a Tool...\n",
- "time.sleep(3)\n",
- "days_to_election = 117\n",
- "tool_end_time_ms = round(datetime.datetime.now().timestamp() * 1000)\n",
- "\n",
- "# create a Tool span\n",
- "tool_span = Trace(\n",
- " name=\"Calculator\",\n",
- " kind=\"tool\",\n",
- " status_code=\"success\",\n",
- " start_time_ms=llm_end_time_ms,\n",
- " end_time_ms=tool_end_time_ms,\n",
- " inputs={\"input\": response_text},\n",
- " outputs={\"result\": days_to_election})\n",
- "\n",
- "# add the TOOL span as a child of the root\n",
- "root_span.add_child(tool_span)\n",
- "\n",
- "\n",
- "# part 5 - the final results from the tool are added\n",
- "root_span.add_inputs_and_outputs(inputs={\"query\": query},\n",
- " outputs={\"result\": days_to_election})\n",
- "root_span._span.end_time_ms = tool_end_time_ms\n",
- "\n",
- "\n",
- "# part 6 - log all spans to W&B by logging the root span\n",
- "root_span.log(name=\"openai_trace\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "nBFVwawPGVmD"
- },
- "source": [
- "Once each Agent execution completes, all calls in your LangChain object will be logged to Weights & Biases"
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "provenance": [],
- "include_colab_link": true
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/colabs/README.md b/colabs/README.md
index 7913dc56..d6144c25 100644
--- a/colabs/README.md
+++ b/colabs/README.md
@@ -26,7 +26,10 @@
| Kaolin-Wisp | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://wandb.me/vqad-colab) |
| Super Gradients | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://wandb.me/yolo-nas-colab) |
| 🎸 Generating music with AudioCraft | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/audiocraft/AudioCraft.ipynb) |
-
+| 🦄 Fine-tune a Torchvision Model with KerasCore | [![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/keras/keras_core/torchvision_keras.ipynb) |
+| 🦄 Fine-tune a Timm Model with KerasCore | [![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/keras/keras_core/timm_keras.ipynb) |
+| 🦄 Medical Image Classification Tutorial using MonAI and KerasCore | [![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/keras/keras_core/monai_medmnist_keras.ipynb) |
+| 🩻 Brain tumor 3D segmentation with MONAI and Weights & Biases | [![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/main/colabs/monai/3d_brain_tumor_segmentation.ipynb) |
# 🏋🏽♂️ W&B Features
diff --git a/colabs/audiocraft/AudioCraft.ipynb b/colabs/audiocraft/AudioCraft.ipynb
index e18c8832..af385a28 100644
--- a/colabs/audiocraft/AudioCraft.ipynb
+++ b/colabs/audiocraft/AudioCraft.ipynb
@@ -1,431 +1,392 @@
{
- "cells": [
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {
- "id": "W-26KlXuiXul"
- },
- "source": [
- "\n",
- "\n",
- "\n",
- "# 🎸 Generating Music using [Audiocraft](https://github.com/facebookresearch/audiocraft) and W&B 🐝\n",
- "\n",
- "\n",
- "\n",
- "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/audiocraft/AudioCraft.ipynb)\n",
- "\n",
- "In this notebook we demonstrate how you can generate music and other types of audio from text prompts or generate new music from existing music using SoTA models such as [MusicGen](https://github.com/facebookresearch/audiocraft/blob/main/docs/MUSICGEN.md) and [AudioGen](https://github.com/facebookresearch/audiocraft/blob/main/docs/AUDIOGEN.md) from [Audiocraft](https://github.com/facebookresearch/audiocraft) and play and visualize them using [Weights & Biases](https://wandb.ai/site).\n",
- "\n",
- "If you want to know more about the underlying architectures for MusicGen and AudioGen and explore some cool audio samples generated by these models, you can check out [this W&B report](http://wandb.me/audiocraft_2mp)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "cellView": "form",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 1000
- },
- "id": "EZU3hg4B1om6",
- "outputId": "3311a45d-35c3-49e8-cbd5-4618386fa2a1"
- },
- "outputs": [],
- "source": [
- "# @title Install AudioCraft + WandB\n",
- "!pip install -U git+https://git@github.com/facebookresearch/audiocraft#egg=audiocraft\n",
- "!pip install -qq -U wandb"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "cellView": "form",
- "id": "RerQaiZt14r8"
- },
- "outputs": [],
- "source": [
- "# @title\n",
- "import os\n",
- "import random\n",
- "from tempfile import TemporaryDirectory\n",
- "\n",
- "from scipy import signal\n",
- "from scipy.io import wavfile\n",
- "\n",
- "import torchaudio\n",
- "from audiocraft.models import AudioGen, MusicGen, MultiBandDiffusion\n",
- "from audiocraft.data.audio import audio_write\n",
- "\n",
- "import wandb\n",
- "import numpy as np\n",
- "from tqdm.auto import tqdm\n",
- "from google.colab import files\n",
- "import matplotlib.pyplot as plt"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "cellView": "form",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 162
- },
- "id": "3MTX8GoE7AzN",
- "outputId": "ebe733d0-3a21-47e5-d217-89a622cafc62"
- },
- "outputs": [],
- "source": [
- "# @title ## Audio Generation Configs\n",
- "\n",
- "# @markdown In this section, you can interact with the user interface to chose the models you want to use to generate audio, prompts and other configs. Once you execute this cell, it initializes a [wandb run](https://docs.wandb.ai/guides/runs) which will be used to automatically log all the generated audio along with all the prompts and configs, to ensure your AI-generated music is never lost and your experiments are always reproducible and easy to share. \n",
- "\n",
- "# @markdown **Note:** If you have provided prompts, you will be prompted to provide an audio file in addition to the prompts to condition the model. If you don't want to provide a file as an additional condition to the model, just press on the `cancel` button.\n",
- "\n",
- "# @markdown ---\n",
- "# @markdown WandB Project Name\n",
- "project_name = \"audiocraft\" # @param {type:\"string\"}\n",
- "\n",
- "wandb.init(project=project_name, job_type=\"musicgen/inference\")\n",
- "\n",
- "config = wandb.config\n",
- "\n",
- "# @markdown Select the Model for audio generation supported by [AudioCraft](https://github.com/facebookresearch/audiocraft). You can select either the MusicGen model variants (great for generating music) or the AudioGen model variants (great for generating non-musical audio). Also note that you can run all variants of MusicGen except the `large` one on the free-tier Colab GPU.\n",
- "model_name = \"musicgen-small\" # @param [\"musicgen-small\", \"musicgen-medium\", \"musicgen-large\", \"musicgen-melody\", \"audiogen-medium\"]\n",
- "config.model_name = \"facebook/\" + model_name if model_name == \"audiogen-medium\" else model_name\n",
- "\n",
- "# @markdown Whether to enable [MultiBand Diffusion](https://github.com/facebookresearch/audiocraft/blob/main/docs/MBD.md) or not. MultiBand diffusion is a collection of 4 models that can decode tokens from EnCodec tokenizer into waveform audio. Note that enabling this increases the time required to generate the audio.\n",
- "enable_multi_band_diffusion = True # @param {type:\"boolean\"}\n",
- "# config.enable_multi_band_diffusion = enable_multi_band_diffusion\n",
- "\n",
- "if \"musicgen\" not in model_name:\n",
- " wandb.termwarn(\"Multi-band Diffusion is only available for Musicgen\")\n",
- " config.enable_multi_band_diffusion = False\n",
- "else:\n",
- " config.enable_multi_band_diffusion = enable_multi_band_diffusion\n",
- "\n",
- "# @markdown ---\n",
- "# @markdown ## Conditional Generation Configs\n",
- "\n",
- "# @markdown The prompt for generating audio. You can give multiple prompts separated by `|` in the input. You can also leave it blank for unconditional generation.\n",
- "config.prompts = \"happy rock | energetic EDM | sad jazz\" # @param {type:\"string\"}\n",
- "\n",
- "descriptions = [prompt.strip() for prompt in config.prompts.split(\"|\")]\n",
- "config.is_unconditional = config.prompts.strip() == \"\"\n",
- "\n",
- "input_audio, input_sampling_rate, wandb_input_audio = None, None, None\n",
- "if not config.is_unconditional:\n",
- " input_audio_file = files.upload()\n",
- " if input_audio_file != {}:\n",
- " if config.model_name == \"facebook/audiogen-medium\":\n",
- " error = f\"{config.model_name} does not support audio-based conditioning\"\n",
- " raise ValueError(error)\n",
- " wandb_input_audio = wandb.Audio(list(input_audio_file.keys())[0])\n",
- " input_audio, input_sampling_rate = torchaudio.load(\n",
- " list(input_audio_file.keys())[0]\n",
- " )\n",
- " config.input_audio_available = True\n",
- " else:\n",
- " config.input_audio_available = False\n",
- "else:\n",
- " if config.model_name == \"facebook/audiogen-medium\":\n",
- " error = f\"{config.model_name} does not support unconditional generration\"\n",
- " raise ValueError(error)\n",
- "\n",
- "# @markdown Number of audio samples generated, this is relevant only for unconditional generation, i.e, if `config.prompts` is left blank.\n",
- "config.num_samples = 4 # @param {type:\"slider\", min:1, max:10, step:1}\n",
- "\n",
- "# @markdown Specify the random seed\n",
- "seed = None # @param {type:\"raw\"}\n",
- "\n",
- "max_seed = int(1024 * 1024 * 1024)\n",
- "if not isinstance(seed, int):\n",
- " seed = random.randint(1, max_seed)\n",
- "if seed < 0:\n",
- " seed = - seed\n",
- "seed = seed % max_seed\n",
- "config.seed = seed\n",
- "\n",
- "# @markdown ---\n",
- "# @markdown ## Generation Parameters\n",
- "# @markdown Use sampling if True, else do argmax decoding\n",
- "config.use_sampling = True # @param {type:\"boolean\"}\n",
- "\n",
- "# @markdown `top_k` used for sampling; limits us to `k` number of of the top tokens to consider.\n",
- "config.top_k = 250 # @param {type:\"slider\", min:0, max:1000, step:1}\n",
- "\n",
- "# @markdown `top_p` used for sampling; limits us to the top tokens within a probability mass `p`\n",
- "config.top_p = 0.0 # @param {type:\"slider\", min:0, max:1.0, step:0.01}\n",
- "\n",
- "# @markdown Softmax temperature parameter\n",
- "config.temperature = 1.0 # @param {type:\"slider\", min:0, max:1.0, step:0.01}\n",
- "\n",
- "# @markdown Duration of the generated waveform\n",
- "config.duration = 10 # @param {type:\"slider\", min:1, max:30, step:1}\n",
- "\n",
- "# @markdown Coefficient used for classifier free guidance\n",
- "config.cfg_coef = 3 # @param {type:\"slider\", min:1, max:100, step:1}\n",
- "\n",
- "# @markdown Whether to perform 2 forward for Classifier Free Guidance instead of batching together the two. This has some impact on how things are padded but seems to have little impact in practice.\n",
- "config.two_step_cfg = False # @param {type:\"boolean\"}\n",
- "\n",
- "# @markdown When doing extended generation (i.e. more than 30 seconds), by how much should we extend the audio each time. Larger values will mean less context is preserved, and shorter value will require extra computations.\n",
- "config.extend_stride = 0 # @param {type:\"slider\", min:0, max:30, step:1}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "cellView": "form",
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "SfM8rhVX7ES9",
- "outputId": "a935173b-382a-4514-97fc-eec12e188379"
- },
- "outputs": [],
- "source": [
- "# @title Generate Audio using MusicGen\n",
- "\n",
- "# @markdown In this section, the audio is generated using the configs, specified in the aforementioned section. If you wish to peek behind the curtain and checkout the code, click on the `Show Code` button. In order to know about the different APIs for audio generation, visit the [official audiocraft documentations](https://facebookresearch.github.io/audiocraft/api_docs/audiocraft/index.html).\n",
- "\n",
- "model = None\n",
- "if config.model_name == \"facebook/audiogen-medium\":\n",
- " model = AudioGen.get_pretrained(config.model_name)\n",
- "elif \"musicgen\" in config.model_name:\n",
- " model = MusicGen.get_pretrained(config.model_name.split(\"-\")[-1])\n",
- "\n",
- "multi_band_diffusion = None\n",
- "if config.enable_multi_band_diffusion:\n",
- " multi_band_diffusion = MultiBandDiffusion.get_mbd_musicgen()\n",
- "\n",
- "model.set_generation_params(\n",
- " use_sampling=config.use_sampling,\n",
- " top_k=config.top_k,\n",
- " top_p=config.top_p,\n",
- " temperature=config.temperature,\n",
- " duration=config.duration,\n",
- " cfg_coef=config.cfg_coef,\n",
- " two_step_cfg=config.two_step_cfg,\n",
- " extend_stride=config.extend_stride\n",
- ")\n",
- "\n",
- "generated_wav, tokens = None, None\n",
- "if config.is_unconditional:\n",
- " if input_audio is None:\n",
- " if \"musicgen\" in config.model_name:\n",
- " generated_wav, tokens = model.generate_unconditional(\n",
- " num_samples=config.num_samples,\n",
- " progress=True,\n",
- " return_tokens=True\n",
- " )\n",
- " else:\n",
- " generated_wav = model.generate_unconditional(\n",
- " num_samples=config.num_samples,\n",
- " progress=True,\n",
- " )\n",
- " else:\n",
- " if \"musicgen\" in config.model_name:\n",
- " generated_wav, tokens = model.generate_with_chroma(\n",
- " descriptions,\n",
- " input_audio[None].expand(3, -1, -1),\n",
- " input_sampling_rate,\n",
- " return_tokens=True\n",
- " )\n",
- " else:\n",
- " generated_wav = model.generate_with_chroma(\n",
- " descriptions,\n",
- " input_audio[None].expand(3, -1, -1),\n",
- " input_sampling_rate,\n",
- " )\n",
- "else:\n",
- " if \"musicgen\" in config.model_name:\n",
- " generated_wav, tokens = model.generate(\n",
- " descriptions,\n",
- " progress=True,\n",
- " return_tokens=True\n",
- " )\n",
- " else:\n",
- " generated_wav = model.generate(\n",
- " descriptions,\n",
- " progress=True,\n",
- " )\n",
- "\n",
- "generated_wav_diffusion = None\n",
- "if config.enable_multi_band_diffusion:\n",
- " generated_wav_diffusion = multi_band_diffusion.tokens_to_wav(tokens)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "cellView": "form",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 104
- },
- "id": "_n-1RthFVPYN",
- "outputId": "ac7bbc70-8114-4ef7-ef64-ecae9ba898cf"
- },
- "outputs": [],
- "source": [
- "# @title Log Audio to Weights & Biases Dashboard\n",
- "\n",
- "# @markdown In this section, we log the generated audio to Weights & Biases where you can listen and visualize them using an interactive audio player and waveform visualizer. Also, shoutout to [Atanu Sarkar](https://github.com/mratanusarkar) for building the spectrogram viusalization function which lets you visualize the spectrogram of the generated audio inside a [`wandb.Table`](https://docs.wandb.ai/guides/tables/tables-walkthrough).\n",
- "\n",
- "def get_spectrogram(audio_file, output_file):\n",
- " sample_rate, samples = wavfile.read(audio_file)\n",
- " frequencies, times, Sxx = signal.spectrogram(samples, sample_rate)\n",
- "\n",
- " log_Sxx = 10 * np.log10(Sxx + 1e-10)\n",
- " vmin = np.percentile(log_Sxx, 5)\n",
- " vmax = np.percentile(log_Sxx, 95)\n",
- "\n",
- " mean_spectrum = np.mean(log_Sxx, axis=1)\n",
- " threshold_low = np.percentile(mean_spectrum, 5)\n",
- " threshold_high = np.percentile(mean_spectrum, 95)\n",
- "\n",
- " freq_indices = np.where(mean_spectrum > threshold_low)\n",
- " freq_min = 20\n",
- " freq_max = frequencies[freq_indices].max()\n",
- "\n",
- " fig, ax = plt.subplots()\n",
- " cmap = plt.get_cmap('magma')\n",
- "\n",
- " ax.pcolormesh(\n",
- " times,\n",
- " frequencies,\n",
- " log_Sxx,\n",
- " shading='gouraud',\n",
- " cmap=cmap,\n",
- " vmin=vmin,\n",
- " vmax=vmax\n",
- " )\n",
- " ax.axis('off')\n",
- " ax.set_ylim([freq_min, freq_max])\n",
- "\n",
- " plt.subplots_adjust(left=0, right=1, top=1, bottom=0)\n",
- " plt.savefig(\n",
- " output_file, format='png', bbox_inches='tight', pad_inches=0\n",
- " )\n",
- " plt.close()\n",
- "\n",
- " return wandb.Image(output_file)\n",
- "\n",
- "\n",
- "temp_dir = TemporaryDirectory()\n",
- "columns = [\"Model\", \"Prompt\", \"Generated-Audio\", \"Spectrogram\", \"Seed\"]\n",
- "if input_audio is not None:\n",
- " columns.insert(2, \"Input-Audio\")\n",
- "if config.enable_multi_band_diffusion:\n",
- " columns.insert(4, \"Generated-Audio-Diffusion\")\n",
- " columns.insert(5, \"Spectrogram-Diffusion\")\n",
- "wandb_table = wandb.Table(columns=columns)\n",
- "\n",
- "for idx, wav in enumerate(generated_wav):\n",
- "\n",
- " file_name = os.path.join(temp_dir.name, str(idx))\n",
- " audio_write(\n",
- " file_name,\n",
- " wav.cpu(),\n",
- " model.sample_rate,\n",
- " strategy=\"loudness\",\n",
- " loudness_compressor=True,\n",
- " )\n",
- " wandb_audio = wandb.Audio(file_name + \".wav\")\n",
- " wandb.log({\"Generated-Audio\": wandb_audio}, commit=False)\n",
- "\n",
- " file_name_diffusion, wandb_diffusion_audio = None, None\n",
- " if config.enable_multi_band_diffusion:\n",
- " file_name_diffusion = os.path.join(\n",
- " temp_dir.name, str(idx) + \"_diffusion\"\n",
- " )\n",
- " audio_write(\n",
- " file_name_diffusion,\n",
- " generated_wav_diffusion[idx].cpu(),\n",
- " model.sample_rate,\n",
- " strategy=\"loudness\",\n",
- " loudness_compressor=True,\n",
- " )\n",
- " wandb_diffusion_audio = wandb.Audio(file_name_diffusion + \".wav\")\n",
- " wandb.log(\n",
- " {\"Generated-Audio-Diffusion\": wandb_diffusion_audio},\n",
- " commit=False\n",
- " )\n",
- "\n",
- " wandb.log({}, commit=True)\n",
- "\n",
- " desc = descriptions[idx] if len(descriptions) > 1 else config.prompts\n",
- " wandb_table_row = [\n",
- " model_name,\n",
- " desc,\n",
- " wandb_audio,\n",
- " get_spectrogram(\n",
- " audio_file=file_name + \".wav\",\n",
- " output_file=os.path.join(temp_dir.name, str(idx) + \".png\")\n",
- " ),\n",
- " config.seed\n",
- " ]\n",
- " if input_audio is not None:\n",
- " wandb_table_row.insert(2, wandb_input_audio)\n",
- " if config.enable_multi_band_diffusion:\n",
- " wandb_table_row.insert(4, wandb_diffusion_audio)\n",
- " wandb_table_row.insert(\n",
- " 5,\n",
- " get_spectrogram(\n",
- " audio_file=file_name_diffusion + \".wav\",\n",
- " output_file=os.path.join(\n",
- " temp_dir.name, str(idx) + \"_diffusion.png\"\n",
- " )\n",
- " )\n",
- " )\n",
- " wandb_table.add_data(*wandb_table_row)\n",
- "\n",
- "wandb.log({\"Generated-Audio-Table\": wandb_table})\n",
- "\n",
- "wandb.finish()\n",
- "temp_dir.cleanup()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This is how the W&B Table looks like with the interactive audio player, waveform visualizer and spectrogram visualization along with the prompts and other configs. Note that the notebook automatically sets the seed if you leave it blank, so your experiments are always reproducible.\n",
- "\n",
- "![](https://github.com/wandb/examples/blob/example/audiocraft/colabs/audiocraft/assets/music_gen.png?raw=1)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If you want to know more about the underlying architectures for MusicGen and AudioGen and explore some cool audio samples generated by these models, you can check out [this W&B report](http://wandb.me/audiocraft_2mp)."
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "gpuType": "V100",
- "provenance": []
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- },
- "language_info": {
- "name": "python"
- }
+ "cells": [
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "\n",
+ "\n",
+ "# 🎸 Generating Music using [Audiocraft](https://github.com/facebookresearch/audiocraft) and W&B 🐝\n",
+ "\n",
+ "\n",
+ "\n",
+ "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/audiocraft/AudioCraft.ipynb)\n",
+ "\n",
+ "In this notebook we demonstrate how you can generate music and other types of audio from text prompts or generate new music from existing music using SoTA models such as [MusicGen](https://github.com/facebookresearch/audiocraft/blob/main/docs/MUSICGEN.md) and [AudioGen](https://github.com/facebookresearch/audiocraft/blob/main/docs/AUDIOGEN.md) from [Audiocraft](https://github.com/facebookresearch/audiocraft) and play and visualize them using [Weights & Biases](https://wandb.ai/site).\n",
+ "\n",
+ "If you want to know more about the underlying architectures for MusicGen and AudioGen and explore some cool audio samples generated by these models, you can check out [this W&B report](http://wandb.me/audiocraft_2mp)."
+ ]
},
- "nbformat": 4,
- "nbformat_minor": 0
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# @title Install AudioCraft + WandB\n",
+ "!pip install -U git+https://git@github.com/facebookresearch/audiocraft#egg=audiocraft\n",
+ "!pip install -qq -U wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# @title\n",
+ "import os\n",
+ "import random\n",
+ "from tempfile import TemporaryDirectory\n",
+ "\n",
+ "from scipy import signal\n",
+ "from scipy.io import wavfile\n",
+ "\n",
+ "import torchaudio\n",
+ "from audiocraft.models import AudioGen, MusicGen, MultiBandDiffusion\n",
+ "from audiocraft.data.audio import audio_write\n",
+ "\n",
+ "import wandb\n",
+ "import numpy as np\n",
+ "from tqdm.auto import tqdm\n",
+ "from google.colab import files\n",
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# @title ## Audio Generation Configs\n",
+ "\n",
+ "# @markdown In this section, you can interact with the user interface to chose the models you want to use to generate audio, prompts and other configs. Once you execute this cell, it initializes a [wandb run](https://docs.wandb.ai/guides/runs) which will be used to automatically log all the generated audio along with all the prompts and configs, to ensure your AI-generated music is never lost and your experiments are always reproducible and easy to share. \n",
+ "\n",
+ "# @markdown **Note:** If you have provided prompts, you will be prompted to provide an audio file in addition to the prompts to condition the model. If you don't want to provide a file as an additional condition to the model, just press on the `cancel` button.\n",
+ "\n",
+ "# @markdown ---\n",
+ "# @markdown WandB Project Name\n",
+ "project_name = \"audiocraft\" # @param {type:\"string\"}\n",
+ "\n",
+ "wandb.init(project=project_name, job_type=\"musicgen/inference\")\n",
+ "\n",
+ "config = wandb.config\n",
+ "\n",
+ "# @markdown Select the Model for audio generation supported by [AudioCraft](https://github.com/facebookresearch/audiocraft). You can select either the MusicGen model variants (great for generating music) or the AudioGen model variants (great for generating non-musical audio). Also note that you can run all variants of MusicGen except the `large` one on the free-tier Colab GPU.\n",
+ "model_name = \"musicgen-small\" # @param [\"musicgen-small\", \"musicgen-medium\", \"musicgen-large\", \"musicgen-melody\", \"audiogen-medium\"]\n",
+ "config.model_name = \"facebook/\" + model_name if model_name == \"audiogen-medium\" else model_name\n",
+ "\n",
+ "# @markdown Whether to enable [MultiBand Diffusion](https://github.com/facebookresearch/audiocraft/blob/main/docs/MBD.md) or not. MultiBand diffusion is a collection of 4 models that can decode tokens from EnCodec tokenizer into waveform audio. Note that enabling this increases the time required to generate the audio.\n",
+ "enable_multi_band_diffusion = True # @param {type:\"boolean\"}\n",
+ "# config.enable_multi_band_diffusion = enable_multi_band_diffusion\n",
+ "\n",
+ "if \"musicgen\" not in model_name:\n",
+ " wandb.termwarn(\"Multi-band Diffusion is only available for Musicgen\")\n",
+ " config.enable_multi_band_diffusion = False\n",
+ "else:\n",
+ " config.enable_multi_band_diffusion = enable_multi_band_diffusion\n",
+ "\n",
+ "# @markdown ---\n",
+ "# @markdown ## Conditional Generation Configs\n",
+ "\n",
+ "# @markdown The prompt for generating audio. You can give multiple prompts separated by `|` in the input. You can also leave it blank for unconditional generation.\n",
+ "config.prompts = \"happy rock | energetic EDM | sad jazz\" # @param {type:\"string\"}\n",
+ "\n",
+ "descriptions = [prompt.strip() for prompt in config.prompts.split(\"|\")]\n",
+ "config.is_unconditional = config.prompts.strip() == \"\"\n",
+ "\n",
+ "input_audio, input_sampling_rate, wandb_input_audio = None, None, None\n",
+ "if not config.is_unconditional:\n",
+ " input_audio_file = files.upload()\n",
+ " if input_audio_file != {}:\n",
+ " if config.model_name == \"facebook/audiogen-medium\":\n",
+ " error = f\"{config.model_name} does not support audio-based conditioning\"\n",
+ " raise ValueError(error)\n",
+ " wandb_input_audio = wandb.Audio(list(input_audio_file.keys())[0])\n",
+ " input_audio, input_sampling_rate = torchaudio.load(\n",
+ " list(input_audio_file.keys())[0]\n",
+ " )\n",
+ " config.input_audio_available = True\n",
+ " else:\n",
+ " config.input_audio_available = False\n",
+ "else:\n",
+ " if config.model_name == \"facebook/audiogen-medium\":\n",
+ " error = f\"{config.model_name} does not support unconditional generration\"\n",
+ " raise ValueError(error)\n",
+ "\n",
+ "# @markdown Number of audio samples generated, this is relevant only for unconditional generation, i.e, if `config.prompts` is left blank.\n",
+ "config.num_samples = 4 # @param {type:\"slider\", min:1, max:10, step:1}\n",
+ "\n",
+ "# @markdown Specify the random seed\n",
+ "seed = None # @param {type:\"raw\"}\n",
+ "\n",
+ "max_seed = int(1024 * 1024 * 1024)\n",
+ "if not isinstance(seed, int):\n",
+ " seed = random.randint(1, max_seed)\n",
+ "if seed < 0:\n",
+ " seed = - seed\n",
+ "seed = seed % max_seed\n",
+ "config.seed = seed\n",
+ "\n",
+ "# @markdown ---\n",
+ "# @markdown ## Generation Parameters\n",
+ "# @markdown Use sampling if True, else do argmax decoding\n",
+ "config.use_sampling = True # @param {type:\"boolean\"}\n",
+ "\n",
+ "# @markdown `top_k` used for sampling; limits us to `k` number of of the top tokens to consider.\n",
+ "config.top_k = 250 # @param {type:\"slider\", min:0, max:1000, step:1}\n",
+ "\n",
+ "# @markdown `top_p` used for sampling; limits us to the top tokens within a probability mass `p`\n",
+ "config.top_p = 0.0 # @param {type:\"slider\", min:0, max:1.0, step:0.01}\n",
+ "\n",
+ "# @markdown Softmax temperature parameter\n",
+ "config.temperature = 1.0 # @param {type:\"slider\", min:0, max:1.0, step:0.01}\n",
+ "\n",
+ "# @markdown Duration of the generated waveform\n",
+ "config.duration = 10 # @param {type:\"slider\", min:1, max:30, step:1}\n",
+ "\n",
+ "# @markdown Coefficient used for classifier free guidance\n",
+ "config.cfg_coef = 3 # @param {type:\"slider\", min:1, max:100, step:1}\n",
+ "\n",
+ "# @markdown Whether to perform 2 forward for Classifier Free Guidance instead of batching together the two. This has some impact on how things are padded but seems to have little impact in practice.\n",
+ "config.two_step_cfg = False # @param {type:\"boolean\"}\n",
+ "\n",
+ "# @markdown When doing extended generation (i.e. more than 30 seconds), by how much should we extend the audio each time. Larger values will mean less context is preserved, and shorter value will require extra computations.\n",
+ "config.extend_stride = 0 # @param {type:\"slider\", min:0, max:30, step:1}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# @title Generate Audio using MusicGen\n",
+ "\n",
+ "# @markdown In this section, the audio is generated using the configs, specified in the aforementioned section. If you wish to peek behind the curtain and checkout the code, click on the `Show Code` button. In order to know about the different APIs for audio generation, visit the [official audiocraft documentations](https://facebookresearch.github.io/audiocraft/api_docs/audiocraft/index.html).\n",
+ "\n",
+ "model = None\n",
+ "if config.model_name == \"facebook/audiogen-medium\":\n",
+ " model = AudioGen.get_pretrained(config.model_name)\n",
+ "elif \"musicgen\" in config.model_name:\n",
+ " model = MusicGen.get_pretrained(config.model_name.split(\"-\")[-1])\n",
+ "\n",
+ "multi_band_diffusion = None\n",
+ "if config.enable_multi_band_diffusion:\n",
+ " multi_band_diffusion = MultiBandDiffusion.get_mbd_musicgen()\n",
+ "\n",
+ "model.set_generation_params(\n",
+ " use_sampling=config.use_sampling,\n",
+ " top_k=config.top_k,\n",
+ " top_p=config.top_p,\n",
+ " temperature=config.temperature,\n",
+ " duration=config.duration,\n",
+ " cfg_coef=config.cfg_coef,\n",
+ " two_step_cfg=config.two_step_cfg,\n",
+ " extend_stride=config.extend_stride\n",
+ ")\n",
+ "\n",
+ "generated_wav, tokens = None, None\n",
+ "if config.is_unconditional:\n",
+ " if input_audio is None:\n",
+ " if \"musicgen\" in config.model_name:\n",
+ " generated_wav, tokens = model.generate_unconditional(\n",
+ " num_samples=config.num_samples,\n",
+ " progress=True,\n",
+ " return_tokens=True\n",
+ " )\n",
+ " else:\n",
+ " generated_wav = model.generate_unconditional(\n",
+ " num_samples=config.num_samples,\n",
+ " progress=True,\n",
+ " )\n",
+ " else:\n",
+ " if \"musicgen\" in config.model_name:\n",
+ " generated_wav, tokens = model.generate_with_chroma(\n",
+ " descriptions,\n",
+ " input_audio[None].expand(3, -1, -1),\n",
+ " input_sampling_rate,\n",
+ " return_tokens=True\n",
+ " )\n",
+ " else:\n",
+ " generated_wav = model.generate_with_chroma(\n",
+ " descriptions,\n",
+ " input_audio[None].expand(3, -1, -1),\n",
+ " input_sampling_rate,\n",
+ " )\n",
+ "else:\n",
+ " if \"musicgen\" in config.model_name:\n",
+ " generated_wav, tokens = model.generate(\n",
+ " descriptions,\n",
+ " progress=True,\n",
+ " return_tokens=True\n",
+ " )\n",
+ " else:\n",
+ " generated_wav = model.generate(\n",
+ " descriptions,\n",
+ " progress=True,\n",
+ " )\n",
+ "\n",
+ "generated_wav_diffusion = None\n",
+ "if config.enable_multi_band_diffusion:\n",
+ " generated_wav_diffusion = multi_band_diffusion.tokens_to_wav(tokens)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# @title Log Audio to Weights & Biases Dashboard\n",
+ "\n",
+ "# @markdown In this section, we log the generated audio to Weights & Biases where you can listen and visualize them using an interactive audio player and waveform visualizer. Also, shoutout to [Atanu Sarkar](https://github.com/mratanusarkar) for building the spectrogram viusalization function which lets you visualize the spectrogram of the generated audio inside a [`wandb.Table`](https://docs.wandb.ai/guides/tables/tables-walkthrough).\n",
+ "\n",
+ "def get_spectrogram(audio_file, output_file):\n",
+ " sample_rate, samples = wavfile.read(audio_file)\n",
+ " frequencies, times, Sxx = signal.spectrogram(samples, sample_rate)\n",
+ "\n",
+ " log_Sxx = 10 * np.log10(Sxx + 1e-10)\n",
+ " vmin = np.percentile(log_Sxx, 5)\n",
+ " vmax = np.percentile(log_Sxx, 95)\n",
+ "\n",
+ " mean_spectrum = np.mean(log_Sxx, axis=1)\n",
+ " threshold_low = np.percentile(mean_spectrum, 5)\n",
+ " threshold_high = np.percentile(mean_spectrum, 95)\n",
+ "\n",
+ " freq_indices = np.where(mean_spectrum > threshold_low)\n",
+ " freq_min = 20\n",
+ " freq_max = frequencies[freq_indices].max()\n",
+ "\n",
+ " fig, ax = plt.subplots()\n",
+ " cmap = plt.get_cmap('magma')\n",
+ "\n",
+ " ax.pcolormesh(\n",
+ " times,\n",
+ " frequencies,\n",
+ " log_Sxx,\n",
+ " shading='gouraud',\n",
+ " cmap=cmap,\n",
+ " vmin=vmin,\n",
+ " vmax=vmax\n",
+ " )\n",
+ " ax.axis('off')\n",
+ " ax.set_ylim([freq_min, freq_max])\n",
+ "\n",
+ " plt.subplots_adjust(left=0, right=1, top=1, bottom=0)\n",
+ " plt.savefig(\n",
+ " output_file, format='png', bbox_inches='tight', pad_inches=0\n",
+ " )\n",
+ " plt.close()\n",
+ "\n",
+ " return wandb.Image(output_file)\n",
+ "\n",
+ "\n",
+ "temp_dir = TemporaryDirectory()\n",
+ "columns = [\"Model\", \"Prompt\", \"Generated-Audio\", \"Spectrogram\", \"Seed\"]\n",
+ "if input_audio is not None:\n",
+ " columns.insert(2, \"Input-Audio\")\n",
+ "if config.enable_multi_band_diffusion:\n",
+ " columns.insert(4, \"Generated-Audio-Diffusion\")\n",
+ " columns.insert(5, \"Spectrogram-Diffusion\")\n",
+ "wandb_table = wandb.Table(columns=columns)\n",
+ "\n",
+ "for idx, wav in enumerate(generated_wav):\n",
+ "\n",
+ " file_name = os.path.join(temp_dir.name, str(idx))\n",
+ " audio_write(\n",
+ " file_name,\n",
+ " wav.cpu(),\n",
+ " model.sample_rate,\n",
+ " strategy=\"loudness\",\n",
+ " loudness_compressor=True,\n",
+ " )\n",
+ " wandb_audio = wandb.Audio(file_name + \".wav\")\n",
+ " wandb.log({\"Generated-Audio\": wandb_audio}, commit=False)\n",
+ "\n",
+ " file_name_diffusion, wandb_diffusion_audio = None, None\n",
+ " if config.enable_multi_band_diffusion:\n",
+ " file_name_diffusion = os.path.join(\n",
+ " temp_dir.name, str(idx) + \"_diffusion\"\n",
+ " )\n",
+ " audio_write(\n",
+ " file_name_diffusion,\n",
+ " generated_wav_diffusion[idx].cpu(),\n",
+ " model.sample_rate,\n",
+ " strategy=\"loudness\",\n",
+ " loudness_compressor=True,\n",
+ " )\n",
+ " wandb_diffusion_audio = wandb.Audio(file_name_diffusion + \".wav\")\n",
+ " wandb.log(\n",
+ " {\"Generated-Audio-Diffusion\": wandb_diffusion_audio},\n",
+ " commit=False\n",
+ " )\n",
+ "\n",
+ " wandb.log({}, commit=True)\n",
+ "\n",
+ " desc = descriptions[idx] if len(descriptions) > 1 else config.prompts\n",
+ " wandb_table_row = [\n",
+ " model_name,\n",
+ " desc,\n",
+ " wandb_audio,\n",
+ " get_spectrogram(\n",
+ " audio_file=file_name + \".wav\",\n",
+ " output_file=os.path.join(temp_dir.name, str(idx) + \".png\")\n",
+ " ),\n",
+ " config.seed\n",
+ " ]\n",
+ " if input_audio is not None:\n",
+ " wandb_table_row.insert(2, wandb_input_audio)\n",
+ " if config.enable_multi_band_diffusion:\n",
+ " wandb_table_row.insert(4, wandb_diffusion_audio)\n",
+ " wandb_table_row.insert(\n",
+ " 5,\n",
+ " get_spectrogram(\n",
+ " audio_file=file_name_diffusion + \".wav\",\n",
+ " output_file=os.path.join(\n",
+ " temp_dir.name, str(idx) + \"_diffusion.png\"\n",
+ " )\n",
+ " )\n",
+ " )\n",
+ " wandb_table.add_data(*wandb_table_row)\n",
+ "\n",
+ "wandb.log({\"Generated-Audio-Table\": wandb_table})\n",
+ "\n",
+ "wandb.finish()\n",
+ "temp_dir.cleanup()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This is how the W&B Table looks like with the interactive audio player, waveform visualizer and spectrogram visualization along with the prompts and other configs. Note that the notebook automatically sets the seed if you leave it blank, so your experiments are always reproducible.\n",
+ "\n",
+ "![](https://github.com/wandb/examples/blob/example/audiocraft/colabs/audiocraft/assets/music_gen.png?raw=1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "If you want to know more about the underlying architectures for MusicGen and AudioGen and explore some cool audio samples generated by these models, you can check out [this W&B report](http://wandb.me/audiocraft_2mp)."
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "gpuType": "V100",
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
}
diff --git a/colabs/boosting/Credit_Scorecards_with_XGBoost_and_W&B.ipynb b/colabs/boosting/Credit_Scorecards_with_XGBoost_and_W&B.ipynb
index 6bd674f2..57b392ef 100644
--- a/colabs/boosting/Credit_Scorecards_with_XGBoost_and_W&B.ipynb
+++ b/colabs/boosting/Credit_Scorecards_with_XGBoost_and_W&B.ipynb
@@ -211,11 +211,19 @@
"outputs": [],
"source": [
"import wandb\n",
- "wandb.login()\n",
"\n",
"WANDB_PROJECT ='vehicle_loan_default'"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
{
"attachments": {},
"cell_type": "markdown",
diff --git a/colabs/boosting/Simple_LightGBM_Integration.ipynb b/colabs/boosting/Simple_LightGBM_Integration.ipynb
index 35ba65ec..263e64df 100644
--- a/colabs/boosting/Simple_LightGBM_Integration.ipynb
+++ b/colabs/boosting/Simple_LightGBM_Integration.ipynb
@@ -111,8 +111,15 @@
"outputs": [],
"source": [
"import wandb\n",
- "from wandb.lightgbm import wandb_callback, log_summary\n",
- "\n",
+ "from wandb.lightgbm import wandb_callback, log_summary\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/boosting/Using_W&B_Sweeps_with_XGBoost.ipynb b/colabs/boosting/Using_W&B_Sweeps_with_XGBoost.ipynb
index e2649961..5e1a2a8d 100644
--- a/colabs/boosting/Using_W&B_Sweeps_with_XGBoost.ipynb
+++ b/colabs/boosting/Using_W&B_Sweeps_with_XGBoost.ipynb
@@ -97,7 +97,15 @@
"outputs": [],
"source": [
"\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/datasets-predictions/Image_Classification_with_Tables.ipynb b/colabs/datasets-predictions/Image_Classification_with_Tables.ipynb
index f8252a03..8def8a28 100644
--- a/colabs/datasets-predictions/Image_Classification_with_Tables.ipynb
+++ b/colabs/datasets-predictions/Image_Classification_with_Tables.ipynb
@@ -140,7 +140,15 @@
"outputs": [],
"source": [
"\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -613,20 +621,6 @@
"3. [Articles](https://www.wandb.com/articles) - blog posts and tutorials\n",
"4. [Community](wandb.me/slack) - join our Slack community forum"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/datasets-predictions/Logging_Timbre_Transfer_with_W&B.ipynb b/colabs/datasets-predictions/Logging_Timbre_Transfer_with_W&B.ipynb
index 5c761177..85d83e12 100644
--- a/colabs/datasets-predictions/Logging_Timbre_Transfer_with_W&B.ipynb
+++ b/colabs/datasets-predictions/Logging_Timbre_Transfer_with_W&B.ipynb
@@ -193,7 +193,15 @@
"metadata": {},
"outputs": [],
"source": [
- "WANDB_PROJECT = \"timbre_demo\"\n",
+ "WANDB_PROJECT = \"timbre_demo\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/datasets-predictions/W&B_Dataset_Visualization.ipynb b/colabs/datasets-predictions/W&B_Dataset_Visualization.ipynb
index 244dce8d..a9818a49 100644
--- a/colabs/datasets-predictions/W&B_Dataset_Visualization.ipynb
+++ b/colabs/datasets-predictions/W&B_Dataset_Visualization.ipynb
@@ -93,7 +93,15 @@
"source": [
"# default project name where results will be logged\n",
"WANDB_PROJECT = \"dsviz-demo-colab\"\n",
- "NUM_EXAMPLES = 50\n",
+ "NUM_EXAMPLES = 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/datasets-predictions/W&B_Tables_Quickstart.ipynb b/colabs/datasets-predictions/W&B_Tables_Quickstart.ipynb
index 592878ae..8b0cd943 100644
--- a/colabs/datasets-predictions/W&B_Tables_Quickstart.ipynb
+++ b/colabs/datasets-predictions/W&B_Tables_Quickstart.ipynb
@@ -82,11 +82,19 @@
"source": [
"\n",
"import wandb\n",
- "wandb.login()\n",
"\n",
"WANDB_PROJECT = \"mnist-viz\""
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
diff --git a/colabs/deepchem/W&B_x_DeepChem.ipynb b/colabs/deepchem/W&B_x_DeepChem.ipynb
index 81687e46..84303756 100644
--- a/colabs/deepchem/W&B_x_DeepChem.ipynb
+++ b/colabs/deepchem/W&B_x_DeepChem.ipynb
@@ -58,12 +58,20 @@
"outputs": [],
"source": [
"import wandb\n",
- "wandb.login()\n",
"\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
diff --git a/colabs/diffusers/assets/diffusers-autolog-1.gif b/colabs/diffusers/assets/diffusers-autolog-1.gif
new file mode 100644
index 00000000..55a20e31
Binary files /dev/null and b/colabs/diffusers/assets/diffusers-autolog-1.gif differ
diff --git a/colabs/diffusers/assets/diffusers-autolog-4.gif b/colabs/diffusers/assets/diffusers-autolog-4.gif
new file mode 100644
index 00000000..a52f63d6
Binary files /dev/null and b/colabs/diffusers/assets/diffusers-autolog-4.gif differ
diff --git a/colabs/diffusers/assets/diffusers-autolog-5.gif b/colabs/diffusers/assets/diffusers-autolog-5.gif
new file mode 100644
index 00000000..a3673e06
Binary files /dev/null and b/colabs/diffusers/assets/diffusers-autolog-5.gif differ
diff --git a/colabs/diffusers/diffusers-image-generation.ipynb b/colabs/diffusers/diffusers-image-generation.ipynb
index 00ac78c0..f3c603c5 100644
--- a/colabs/diffusers/diffusers-image-generation.ipynb
+++ b/colabs/diffusers/diffusers-image-generation.ipynb
@@ -512,13 +512,6 @@
"source": [
"notebook_launcher(training_loop, num_processes=config.num_processes)"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/diffusers/lcm-diffusers.ipynb b/colabs/diffusers/lcm-diffusers.ipynb
new file mode 100644
index 00000000..710aa903
--- /dev/null
+++ b/colabs/diffusers/lcm-diffusers.ipynb
@@ -0,0 +1,118 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Image Generation with Consistency Models using 🤗 Diffusers\n",
+ "\n",
+ "\n",
+ "\n",
+ "This notebook demonstrates the following:\n",
+ "- Performing text-conditional image-generations with the [Consistency Models](https://huggingface.co/docs/diffusers/api/pipelines/consistency_models) using [🤗 Diffusers](https://huggingface.co/docs/diffusers).\n",
+ "- Manage image generation experiments using [Weights & Biases](http://wandb.ai/site).\n",
+ "- Log the prompts, generated images and experiment configs to [Weigts & Biases](http://wandb.ai/site) for visalization.\n",
+ "\n",
+ "![](./assets/diffusers-autolog-4.gif)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install diffusers transformers accelerate wandb > install.log"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import random\n",
+ "\n",
+ "import torch\n",
+ "from diffusers import DiffusionPipeline\n",
+ "\n",
+ "import wandb\n",
+ "from wandb.integration.diffusers import autolog"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Initialize the diffusion pipeline for latent consistency model\n",
+ "pipeline = DiffusionPipeline.from_pretrained(\"SimianLuo/LCM_Dreamshaper_v7\")\n",
+ "pipeline = pipeline.to(torch_device=\"cuda\", torch_dtype=torch.float32)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Define the prompts, negative prompts, and seed.\n",
+ "prompt = [\n",
+ " \"a photograph of an astronaut riding a horse\",\n",
+ " \"a photograph of a dragon\"\n",
+ "]\n",
+ "\n",
+ "# Make the experiment reproducible by controlling randomness.\n",
+ "# The seed would be automatically logged to WandB.\n",
+ "generator = torch.Generator(device=\"cpu\").manual_seed(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Call WandB Autolog for Diffusers. This would automatically log\n",
+ "# the prompts, generated images, pipeline architecture and all\n",
+ "# associated experiment configs to Weights & Biases, thus making your\n",
+ "# image generation experiments easy to reproduce, share and analyze.\n",
+ "autolog(init=dict(project=\"diffusers_logging\"))\n",
+ "\n",
+ "# call the pipeline to generate the images\n",
+ "images = pipeline(\n",
+ " prompt,\n",
+ " num_images_per_prompt=2,\n",
+ " generator=generator,\n",
+ " num_inference_steps=10,\n",
+ ")\n",
+ "\n",
+ "# End the experiment\n",
+ "wandb.finish()"
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "include_colab_link": true,
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/colabs/diffusers/pixart-alpha-diffusers.ipynb b/colabs/diffusers/pixart-alpha-diffusers.ipynb
new file mode 100644
index 00000000..443e5704
--- /dev/null
+++ b/colabs/diffusers/pixart-alpha-diffusers.ipynb
@@ -0,0 +1,7145 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Image Generation with Pixart-α using 🤗 Diffusers\n",
+ "\n",
+ "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/diffusers/pixart-alpha-diffusers.ipynb)\n",
+ "\n",
+ "This notebook demonstrates the following:\n",
+ "- Performing text-conditional image-generations with the [Pixart-α model](https://huggingface.co/docs/diffusers/v0.23.1/en/api/pipelines/pixart) using [🤗 Diffusers](https://huggingface.co/docs/diffusers).\n",
+ "- Manage image generation experiments using [Weights & Biases](http://wandb.ai/site).\n",
+ "- Log the prompts, generated images and experiment configs to [Weigts & Biases](http://wandb.ai/site) for visalization.\n",
+ "\n",
+ "![](./assets/diffusers-autolog-1.gif)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "0_F8JWIgNfqy",
+ "outputId": "bd6cdb65-e29c-4f93-b7a9-406993a94d62"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install diffusers transformers accelerate sentencepiece ftfy wandb > install.log"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 87,
+ "referenced_widgets": [
+ "95616ad88fc84e80a99f7aa0987a4372",
+ "2d4b6035778d4bac8a2159504533272e",
+ "35675cfe3b5d4c4f83fddd70c0cf8c50",
+ "00e83d39844348e59e7f256898e08709",
+ "f842eb80fed54b2ba865b75a05dae0a1",
+ "a3d6530e68c2427c893fcebcbae020f3",
+ "be51de41fd0c4ef89130862d33d57011",
+ "716aea1c27df41b79cf2642bb93d5df3",
+ "987d902ad45e4304a15dbd01fe755587",
+ "010dd14615ae4e58abb84cd466446b55",
+ "895a39fb613c406db808d1ad01dac37f"
+ ]
+ },
+ "id": "_6msOo17Q0Bq",
+ "outputId": "049c0ad5-eb5f-4464-bc76-c0e11e1818d1"
+ },
+ "outputs": [],
+ "source": [
+ "import random\n",
+ "\n",
+ "import torch\n",
+ "from diffusers import PixArtAlphaPipeline\n",
+ "\n",
+ "import wandb\n",
+ "from wandb.integration.diffusers import autolog"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 579,
+ "referenced_widgets": [
+ "950697f13cfb477cb09def01968a8be0",
+ "436ae734138c4274b8a0157e76c8d2e3",
+ "c54e4159f65549a4a4d877c224aa89ed",
+ "048a3dc56e8c4df39b1179d15029eb00",
+ "cc9cb09be76e43b591285a5d52c6ed76",
+ "fb7fffb9281f42b693c1b7f48325f96f",
+ "1ce438295bd145ad8064c9d7a9f56469",
+ "ab13c1cef2ff4f41b64c4ad103144b31",
+ "920fb69e19504d3b860f0cf55900d25d",
+ "006d201a04f342e89ee728d8d2538f0f",
+ "429b18e0a7874f6c8438cc797ba0123a",
+ "893b076e6f86408db6c1e542b3c730f6",
+ "546cbe5b663a4b9fabaff56fecc6e914",
+ "22802a6ccb80404e96f9912950d73252",
+ "6b1c8bebfaf3464c97151f0fa03d1204",
+ "44cbd72d7bf74a10b357ea7625b5c84b",
+ "314154a15a8d49da8eb158b9b64df8bc",
+ "da149b5bd2024a53b99282849349ea8a",
+ "79426ffc354b4b9daff5c64f6bea931e",
+ "282fd54083174b31a38efdc3f757cedb",
+ "5a724e34fb1b455389349963550b9da8",
+ "b302595b335b458899e30ff9eb0fd79a",
+ "b069c4b00c864783963c1bf299c5c372",
+ "fd5b8ec96c834a519fedba254849ec04",
+ "d9f9127720b541ddbbe5990e322ad089",
+ "3a04722dff694815a30d8c7c61f42e16",
+ "d30a20c93a404c02adaa4fcb66443cb2",
+ "dce47f13fc15450787a63016b61e1c1a",
+ "c4073b2d2c1d4642a1c99ce39c8fa39b",
+ "6ffbe6f493204f4e884692597058ad41",
+ "a517bf731b2748b0ae70c137beb50108",
+ "faa63481cc9a4ac5adbdeee025a7de19",
+ "2650cccd00ae4086955bed6ca909e126",
+ "94876605c0b14c55957f1ad227953d06",
+ "c4bce1fe40ef402cb8a86767f518fc70",
+ "c3398473b8d54655bad516100d0d0fbb",
+ "cc80937e599b45bc974d21f6bd5af90f",
+ "e6803d58f47f4b1fb4e76bca06d6b35c",
+ "dfa1e1cbc0044ba9823f307edbfbec1a",
+ "ce51bb48d8184438968b0f06b87e16d3",
+ "cb6eb4fc3ea44449a53d362d9819dd8e",
+ "062d186b597a47a08746353bf35148b1",
+ "0d435039170340569cf92c0255d7fd5e",
+ "9fc87495a9364e27a1da550d91b85550",
+ "4140e9203f1d4f078581ecfe3038d94b",
+ "fac39df9084640bbbee32339dc4613ad",
+ "97c1c321a42f450e939bb0baf1e42785",
+ "98f22a1dbac54d398191f61ed9764c6c",
+ "cef1102de0a14a46a5e918afc52f03bc",
+ "99fd909b2eb14415a79409646dd59fd2",
+ "41c8d0eff808446abd70ce585da26978",
+ "6ad951ba967b430cbff93ae75a6b1597",
+ "ba1c265343204064b4644f9bc9fbc0e9",
+ "e09197134928414c974211651e17b385",
+ "42901129e32343dcb8d5edb960519a53",
+ "13069f251f51467b83ab5119b2317337",
+ "32a404ef0450473eaccdd5594058b49d",
+ "67b4635164a04f96adca0efb40eae566",
+ "b61eb332e206436d93af97221feb9b4c",
+ "67f3fe40a0914321926c53e2fec176a5",
+ "49edcb2e0c8a4e9aad0398653046cf9e",
+ "4143365a9b69494eab538971b1602c35",
+ "9dbf25daca3840319f5686ff275d842f",
+ "08f75e1bf9864812a916f14eb29a12f9",
+ "6c42c3efc54f436996b154c38fb32209",
+ "acc056c201ef4cb8beac8d981b43ba3e",
+ "260f8ec597f9490d9d355664bd687dc7",
+ "f9730c19c2bc45a0ac95964fd7950032",
+ "803604e1509d4cb88fec21e96689a57b",
+ "10f589c69e884531b0c1ee967f523aa5",
+ "a86366ba25244c6da47189cf59dcbec6",
+ "6509119a1279497b91d29c7f922e8f3f",
+ "2c886cdef1d04e45a735cebaf8e05b00",
+ "7dc25f4f13ce4d7f94356ef9edeb2eb9",
+ "07e2d238d83e45bf9037fa851a5e5648",
+ "2e0869cc3ac24f12bf9d173cb432dc4c",
+ "27f2e688349d444a860dacb562634150",
+ "d213aeaea9f949658d1bd9728ee86fef",
+ "1cde89e63bd7437e9fac7446fc33aea3",
+ "442da82cec1241b8a5249d183820673d",
+ "f65994d833e04d9f96d2613a82651cdd",
+ "eb118c92cb514e999f7b02ebfbbc7d0b",
+ "a9c174e4fa204c8eb01990bcd02a43cb",
+ "ce7f64ac3c164f04835d7869f7ebfb48",
+ "4af899d9d9ba4023b4985e61e3feeda6",
+ "b692c6053fc04651833ee87015df0daa",
+ "0a4330eafca245378354d0abe07f881f",
+ "05c9d7dd8bca4023b8e9d67d8edcf84b",
+ "b9cb18bf70f843e2827a5908d86d490d",
+ "b7f856516aef474aac5d1755163a4775",
+ "973a485540b04967a277eaf9bff09fd9",
+ "66c72c7c741a4288a04e29284c7dab38",
+ "f5e977aeb3fe4edbacc09d6b9dec6df0",
+ "6fafd02828024e37beccd9086fb745f6",
+ "65bcdf864db84dff899b411bdb51d0c1",
+ "41d1bf639c5c4ee4afc327a64b8357b7",
+ "e6ee1b5afae24cf6bd731b64e53a682e",
+ "d10632b92b72482bb3892ec471f0e756",
+ "2e6f4510f5e6496f890e91f827d9cb99",
+ "516574616ff540778c024528a9fafec9",
+ "10468ffcd7c14cc79bc0fa023da9888a",
+ "2b2351a243144932bc0a8fbc0b542402",
+ "7c3adc19d763420787a6a55bb33f2d43",
+ "6610639505394df9b93cd39fdd0acd5c",
+ "fba986e08f5242afaa9ffc193ef9b3b1",
+ "5fc4719ad0fe4b16b0a9428ed5f32b3c",
+ "e9b0e81e633940e4983ceaf14687fa3b",
+ "1eab4186a6a24bfe98d764cfa74b342f",
+ "28f2f2f574f54fd6a16f244f4be5d08e",
+ "fb4e2edf849047ae9790f0522e13c11e",
+ "5e279ec61581429f84f0329ea5e62fee",
+ "61edf08284b942aaa7306d0a26a59344",
+ "c7e02eb0a33349629f58b9cbd7d3a9ad",
+ "0f497591d8334c47a7e01aeb3ceaef81",
+ "01be5b3663f348e7b47747f3371c1fbd",
+ "724772294d614997af26729ae0f845f9",
+ "ff86218d2aca4ee7b3764e998b8c9b9a",
+ "266d230ffacd4d76acb96a2466104289",
+ "8f7235cc17134152a6fc37a2a8ef85b0",
+ "e89ac0f3c4c848bb9505a357ca31919a",
+ "848aefc8f7c8452c8ac8871051166b3e",
+ "1200f91ecf914c6abf38c08365a9cc31",
+ "fe163c82f9b04a15ac6b923ed3b01873",
+ "729f0475028446e8bb00078a2bfbfbce",
+ "50f16033e1e44d05b7e9add4979a9b54",
+ "e28d59c860df45c9ad7318461e4ed25f",
+ "f650b81e97cf47b78b6512ff4a0794c6",
+ "d7a4b722cbc74d548edd1d0469d258a7",
+ "f54a32cfafb5462985b2e1f03f3e7b55",
+ "93141ddff63a44aba010559c6d209596",
+ "01d6bd13c6a743c0b82dcb51bf3e7623",
+ "247a4fda6dc947cc8e7336bcffcd2781",
+ "904ce266ca25413398b736c5f6760a5a",
+ "5cb62c1e29b6421d8f2b98d60543e045",
+ "dc0b1e41de4c4d99b6668e07e2b061a4",
+ "69ab97b1174b4742847ef885c7b2f4ba",
+ "65c618901769460bbe35f1f68d04920c",
+ "21f0ae78db2f4cd09c0b64f4ae5f7b8a",
+ "bf028fd02c0e4220a3077c4f41253ed7",
+ "e29ec1b24ede4619881a3e011699c434",
+ "75343e1ba0604632abf96e86ad7fe8b3",
+ "9ff029954ed64721a4f00faf34f701c5",
+ "f91b715ea2ae4fe0970c142ddc59d76e",
+ "32f4a8a631074da49f3361ea74b483fd",
+ "0a427178ccca414c8f58b892b54cb00d",
+ "591c006b4de647d2b95a8d3a6103a48b",
+ "aa04c220c98d4d6f880a58f6aa9bda75",
+ "04e94e56da49440abf2b6eaf6e675d98",
+ "bdeeb0f9825147efbb70a5eaf226a8ff",
+ "f7dabfcad74b4838b3ad63d62457f140",
+ "a6801b2c8f41424888dbafde4252c7da",
+ "5e8efc02014a455dbfbe356c965abd02",
+ "b9573401b606405da3b1d8815865b104",
+ "cf75087ea8c4401faebff1fe50cc8703",
+ "d96719a9e06845aaae085bd256148333",
+ "4497b0d5517a4acabba98e60af7c5677",
+ "fe96da4d0e484f79ab3a82820ddea5ea",
+ "d7b8ca6b0cf549af8f3f8b0e15f0b8af",
+ "2cb5315f2ad748c4a8605208dc9492d1",
+ "d3406fb70a4c470fa4cd9476d60a9370",
+ "63dc113923d145a88de3c2156b73a1ad",
+ "9690ca75724a4547a505b457efa18cf5",
+ "b9e34a78891a4be6b293733ad79fb409",
+ "cb7c327783124585a21b6062b9a4bec7",
+ "5f13dc4e83c140c1a020bebcd08943d5",
+ "2631936da4064c2b8763bb9bd081b264",
+ "3df3134ee2c14677b1ed6eb49ece2f46",
+ "93a02724ca12427998e17f8e355b0012",
+ "1ec067c782824e329661b9a903748caa",
+ "4166654783344449b71d946124b02703",
+ "9ee2b2a0e18d420ea09a202ce2804660",
+ "b0f80fbce966413496bf67440107cc5b",
+ "ee7cb7091ca5458bba7ab8cef3bb4b5e",
+ "56e272c0af234570a5371800c336ec4d",
+ "266723871e2c4f80bebc0e758b58374d",
+ "3c9728a91b5d485f81ef4d7814c6bb22",
+ "2845309eb6cd4e3bb91b1f3f0cfb6f43",
+ "251d69e9aac04d0da25fa6cb18ce907c",
+ "2466f004e7654d578536b3bdd9e47db2",
+ "ed3e92da5ade4986b381ef86e0d57ed4",
+ "98271fb9547940c69ff8958320056ca5",
+ "1e4fba8ea112482cab2df3e917f6407c",
+ "c001ad33ee0e4df1a314228e292529b5",
+ "532599e42fc64bfdb57957454312ed00",
+ "6c2bbdfd6e6f4a8faa2d47a81a0feebd",
+ "2f428cbd696a4ba4906c7fd8f74a57d4",
+ "f1bea04743fd4a63aaa1b03acdac859d"
+ ]
+ },
+ "id": "O4WktKfiQ0z7",
+ "outputId": "0be1b5e0-cfb2-4b1d-f9e4-18d97b92377c"
+ },
+ "outputs": [],
+ "source": [
+ "# Load the pre-trained checkpoints from HuggingFace Hub to the PixArtAlphaPipeline\n",
+ "pipe = PixArtAlphaPipeline.from_pretrained(\n",
+ " \"PixArt-alpha/PixArt-XL-2-1024-MS\", torch_dtype=torch.float16\n",
+ ")\n",
+ "\n",
+ "# Enable offloading the weights to the CPU and only loading them on the GPU when\n",
+ "# performing the forward pass can also save memory.\n",
+ "pipe.enable_model_cpu_offload()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "MQIZo4F_Q1qG"
+ },
+ "outputs": [],
+ "source": [
+ "wandb_project = \"pixart-alpha\" # @param {type:\"string\"}\n",
+ "\n",
+ "prompt = \"a traveler navigating via a boat in countless mountains, Chinese ink painting\" # @param {type:\"string\"}\n",
+ "negative_prompt = \"\" # @param {type:\"string\"}\n",
+ "num_inference_steps = 25 # @param {type:\"slider\", min:10, max:50, step:1}\n",
+ "guidance_scale = 4.5 # @param {type:\"slider\", min:0, max:10, step:0.1}\n",
+ "num_images_per_prompt = 1 # @param {type:\"slider\", min:0, max:10, step:0.1}\n",
+ "height = 1024 # @param {type:\"slider\", min:512, max:2560, step:32}\n",
+ "width = 1024 # @param {type:\"slider\", min:512, max:2560, step:32}\n",
+ "seed = None # @param {type:\"raw\"}\n",
+ "\n",
+ "\n",
+ "def autogenerate_seed():\n",
+ " max_seed = int(1024 * 1024 * 1024)\n",
+ " seed = random.randint(1, max_seed)\n",
+ " seed = -seed if seed < 0 else seed\n",
+ " seed = seed % max_seed\n",
+ " return seed\n",
+ "\n",
+ "\n",
+ "seed = autogenerate_seed() if seed is None else seed\n",
+ "\n",
+ "# Make the experiment reproducible by controlling randomness.\n",
+ "# The seed would be automatically logged to WandB.\n",
+ "generator = torch.Generator(device=\"cuda\").manual_seed(seed)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 206,
+ "referenced_widgets": [
+ "68239504cbdf4aa0a80096171156cffd",
+ "85ab89a71bb248e996fb8d0148a3d64c",
+ "ceeef5ea2da54e3b8f6fcda7f33b4e32",
+ "5498cc4574d74bf894f35c96d74dce80",
+ "529b32124a884391ba1176d340d480f9",
+ "95caf26b330740a593c8cc86a2fd1ee1",
+ "76d11a364eae4686a5879cddb98c4ddd",
+ "8ece46fc480c4d399e7f2b7a92e96cec",
+ "73afbd0ff1404c63b12909c609446cf9",
+ "601ce4737c2c46b493a191c7f3f6b950",
+ "2079c259a28943a0a80ddabc44026a39",
+ "0356e4a80e04409ca07d1581d735086f",
+ "609dff85b2104270a8e9263ee8e1e958",
+ "a25969fd35744afdb66e9fd59612df6e",
+ "4964cf137c504555a7df44112e65cc0b",
+ "52a240218ab84c0896c7bdc4bfe5a0ef",
+ "bd8e4b6f1e3f49a586fc2ca9baca58e3",
+ "ca2e80da3e194102a9ff2cf0880e1e99",
+ "8dae7b8cdf004d748be7a6395c45bd1a"
+ ]
+ },
+ "id": "QfopfTm-Q4S3",
+ "outputId": "ca4cd35d-eac4-44e7-c7fb-b019e40a00e9"
+ },
+ "outputs": [],
+ "source": [
+ "# Call WandB Autolog for Diffusers. This would automatically log\n",
+ "# the prompts, generated images, pipeline architecture and all\n",
+ "# associated experiment configs to Weights & Biases, thus making your\n",
+ "# image generation experiments easy to reproduce, share and analyze.\n",
+ "autolog(init=dict(project=wandb_project))\n",
+ "\n",
+ "# Generate the images by calling the PixArtAlphaPipeline\n",
+ "image = pipe(\n",
+ " prompt=prompt,\n",
+ " negative_prompt=negative_prompt,\n",
+ " num_inference_steps=num_inference_steps,\n",
+ " guidance_scale=guidance_scale,\n",
+ " num_images_per_prompt=num_images_per_prompt,\n",
+ " height=height,\n",
+ " width=width,\n",
+ " generator=generator,\n",
+ ").images[0]\n",
+ "\n",
+ "# End the experiment\n",
+ "wandb.finish()"
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "gpuType": "T4",
+ "machine_shape": "hm",
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ },
+ "language_info": {
+ "name": "python"
+ },
+ "widgets": {
+ "application/vnd.jupyter.widget-state+json": {
+ "006d201a04f342e89ee728d8d2538f0f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "00e83d39844348e59e7f256898e08709": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_010dd14615ae4e58abb84cd466446b55",
+ "placeholder": "",
+ "style": "IPY_MODEL_895a39fb613c406db808d1ad01dac37f",
+ "value": " 0/0 [00:00<?, ?it/s]"
+ }
+ },
+ "010dd14615ae4e58abb84cd466446b55": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "01be5b3663f348e7b47747f3371c1fbd": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "01d6bd13c6a743c0b82dcb51bf3e7623": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "0356e4a80e04409ca07d1581d735086f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "VBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "VBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "VBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_609dff85b2104270a8e9263ee8e1e958",
+ "IPY_MODEL_a25969fd35744afdb66e9fd59612df6e"
+ ],
+ "layout": "IPY_MODEL_4964cf137c504555a7df44112e65cc0b"
+ }
+ },
+ "048a3dc56e8c4df39b1179d15029eb00": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_006d201a04f342e89ee728d8d2538f0f",
+ "placeholder": "",
+ "style": "IPY_MODEL_429b18e0a7874f6c8438cc797ba0123a",
+ "value": " 400/400 [00:00<00:00, 27.8kB/s]"
+ }
+ },
+ "04e94e56da49440abf2b6eaf6e675d98": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "05c9d7dd8bca4023b8e9d67d8edcf84b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "062d186b597a47a08746353bf35148b1": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "07e2d238d83e45bf9037fa851a5e5648": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "08f75e1bf9864812a916f14eb29a12f9": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "0a427178ccca414c8f58b892b54cb00d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_bdeeb0f9825147efbb70a5eaf226a8ff",
+ "placeholder": "",
+ "style": "IPY_MODEL_f7dabfcad74b4838b3ad63d62457f140",
+ "value": "diffusion_pytorch_model.safetensors: 100%"
+ }
+ },
+ "0a4330eafca245378354d0abe07f881f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "0d435039170340569cf92c0255d7fd5e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "0f497591d8334c47a7e01aeb3ceaef81": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_e89ac0f3c4c848bb9505a357ca31919a",
+ "placeholder": "",
+ "style": "IPY_MODEL_848aefc8f7c8452c8ac8871051166b3e",
+ "value": " 9.99G/9.99G [01:18<00:00, 159MB/s]"
+ }
+ },
+ "10468ffcd7c14cc79bc0fa023da9888a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_fba986e08f5242afaa9ffc193ef9b3b1",
+ "placeholder": "",
+ "style": "IPY_MODEL_5fc4719ad0fe4b16b0a9428ed5f32b3c",
+ "value": "vae/config.json: 100%"
+ }
+ },
+ "10f589c69e884531b0c1ee967f523aa5": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_2e0869cc3ac24f12bf9d173cb432dc4c",
+ "placeholder": "",
+ "style": "IPY_MODEL_27f2e688349d444a860dacb562634150",
+ "value": " 2.63k/2.63k [00:00<00:00, 56.9kB/s]"
+ }
+ },
+ "1200f91ecf914c6abf38c08365a9cc31": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_fe163c82f9b04a15ac6b923ed3b01873",
+ "IPY_MODEL_729f0475028446e8bb00078a2bfbfbce",
+ "IPY_MODEL_50f16033e1e44d05b7e9add4979a9b54"
+ ],
+ "layout": "IPY_MODEL_e28d59c860df45c9ad7318461e4ed25f"
+ }
+ },
+ "13069f251f51467b83ab5119b2317337": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_32a404ef0450473eaccdd5594058b49d",
+ "IPY_MODEL_67b4635164a04f96adca0efb40eae566",
+ "IPY_MODEL_b61eb332e206436d93af97221feb9b4c"
+ ],
+ "layout": "IPY_MODEL_67f3fe40a0914321926c53e2fec176a5"
+ }
+ },
+ "1cde89e63bd7437e9fac7446fc33aea3": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_a9c174e4fa204c8eb01990bcd02a43cb",
+ "placeholder": "",
+ "style": "IPY_MODEL_ce7f64ac3c164f04835d7869f7ebfb48",
+ "value": "tokenizer/tokenizer_config.json: 100%"
+ }
+ },
+ "1ce438295bd145ad8064c9d7a9f56469": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "1e4fba8ea112482cab2df3e917f6407c": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "1eab4186a6a24bfe98d764cfa74b342f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "1ec067c782824e329661b9a903748caa": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_266723871e2c4f80bebc0e758b58374d",
+ "placeholder": "",
+ "style": "IPY_MODEL_3c9728a91b5d485f81ef4d7814c6bb22",
+ "value": " 5/5 [00:11<00:00, 2.08s/it]"
+ }
+ },
+ "2079c259a28943a0a80ddabc44026a39": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "21f0ae78db2f4cd09c0b64f4ae5f7b8a": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "22802a6ccb80404e96f9912950d73252": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_79426ffc354b4b9daff5c64f6bea931e",
+ "max": 14,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_282fd54083174b31a38efdc3f757cedb",
+ "value": 14
+ }
+ },
+ "2466f004e7654d578536b3bdd9e47db2": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_532599e42fc64bfdb57957454312ed00",
+ "max": 2,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_6c2bbdfd6e6f4a8faa2d47a81a0feebd",
+ "value": 2
+ }
+ },
+ "247a4fda6dc947cc8e7336bcffcd2781": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "251d69e9aac04d0da25fa6cb18ce907c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_1e4fba8ea112482cab2df3e917f6407c",
+ "placeholder": "",
+ "style": "IPY_MODEL_c001ad33ee0e4df1a314228e292529b5",
+ "value": "Loading checkpoint shards: 100%"
+ }
+ },
+ "260f8ec597f9490d9d355664bd687dc7": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_f9730c19c2bc45a0ac95964fd7950032",
+ "IPY_MODEL_803604e1509d4cb88fec21e96689a57b",
+ "IPY_MODEL_10f589c69e884531b0c1ee967f523aa5"
+ ],
+ "layout": "IPY_MODEL_a86366ba25244c6da47189cf59dcbec6"
+ }
+ },
+ "2631936da4064c2b8763bb9bd081b264": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_3df3134ee2c14677b1ed6eb49ece2f46",
+ "IPY_MODEL_93a02724ca12427998e17f8e355b0012",
+ "IPY_MODEL_1ec067c782824e329661b9a903748caa"
+ ],
+ "layout": "IPY_MODEL_4166654783344449b71d946124b02703"
+ }
+ },
+ "2650cccd00ae4086955bed6ca909e126": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "266723871e2c4f80bebc0e758b58374d": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "266d230ffacd4d76acb96a2466104289": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "27f2e688349d444a860dacb562634150": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "282fd54083174b31a38efdc3f757cedb": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "2845309eb6cd4e3bb91b1f3f0cfb6f43": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_251d69e9aac04d0da25fa6cb18ce907c",
+ "IPY_MODEL_2466f004e7654d578536b3bdd9e47db2",
+ "IPY_MODEL_ed3e92da5ade4986b381ef86e0d57ed4"
+ ],
+ "layout": "IPY_MODEL_98271fb9547940c69ff8958320056ca5"
+ }
+ },
+ "28f2f2f574f54fd6a16f244f4be5d08e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "2b2351a243144932bc0a8fbc0b542402": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_e9b0e81e633940e4983ceaf14687fa3b",
+ "max": 654,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_1eab4186a6a24bfe98d764cfa74b342f",
+ "value": 654
+ }
+ },
+ "2c886cdef1d04e45a735cebaf8e05b00": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "2cb5315f2ad748c4a8605208dc9492d1": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "2d4b6035778d4bac8a2159504533272e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_a3d6530e68c2427c893fcebcbae020f3",
+ "placeholder": "",
+ "style": "IPY_MODEL_be51de41fd0c4ef89130862d33d57011",
+ "value": ""
+ }
+ },
+ "2e0869cc3ac24f12bf9d173cb432dc4c": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "2e6f4510f5e6496f890e91f827d9cb99": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "2f428cbd696a4ba4906c7fd8f74a57d4": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "314154a15a8d49da8eb158b9b64df8bc": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "32a404ef0450473eaccdd5594058b49d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_49edcb2e0c8a4e9aad0398653046cf9e",
+ "placeholder": "",
+ "style": "IPY_MODEL_4143365a9b69494eab538971b1602c35",
+ "value": "(…)ext_encoder/model.safetensors.index.json: 100%"
+ }
+ },
+ "32f4a8a631074da49f3361ea74b483fd": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_0a427178ccca414c8f58b892b54cb00d",
+ "IPY_MODEL_591c006b4de647d2b95a8d3a6103a48b",
+ "IPY_MODEL_aa04c220c98d4d6f880a58f6aa9bda75"
+ ],
+ "layout": "IPY_MODEL_04e94e56da49440abf2b6eaf6e675d98"
+ }
+ },
+ "35675cfe3b5d4c4f83fddd70c0cf8c50": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_716aea1c27df41b79cf2642bb93d5df3",
+ "max": 1,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_987d902ad45e4304a15dbd01fe755587",
+ "value": 0
+ }
+ },
+ "3a04722dff694815a30d8c7c61f42e16": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_faa63481cc9a4ac5adbdeee025a7de19",
+ "placeholder": "",
+ "style": "IPY_MODEL_2650cccd00ae4086955bed6ca909e126",
+ "value": " 655/655 [00:00<00:00, 48.5kB/s]"
+ }
+ },
+ "3c9728a91b5d485f81ef4d7814c6bb22": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "3df3134ee2c14677b1ed6eb49ece2f46": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_9ee2b2a0e18d420ea09a202ce2804660",
+ "placeholder": "",
+ "style": "IPY_MODEL_b0f80fbce966413496bf67440107cc5b",
+ "value": "Loading pipeline components...: 100%"
+ }
+ },
+ "4140e9203f1d4f078581ecfe3038d94b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_fac39df9084640bbbee32339dc4613ad",
+ "IPY_MODEL_97c1c321a42f450e939bb0baf1e42785",
+ "IPY_MODEL_98f22a1dbac54d398191f61ed9764c6c"
+ ],
+ "layout": "IPY_MODEL_cef1102de0a14a46a5e918afc52f03bc"
+ }
+ },
+ "4143365a9b69494eab538971b1602c35": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "4166654783344449b71d946124b02703": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "41c8d0eff808446abd70ce585da26978": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "41d1bf639c5c4ee4afc327a64b8357b7": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "42901129e32343dcb8d5edb960519a53": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "429b18e0a7874f6c8438cc797ba0123a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "436ae734138c4274b8a0157e76c8d2e3": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_fb7fffb9281f42b693c1b7f48325f96f",
+ "placeholder": "",
+ "style": "IPY_MODEL_1ce438295bd145ad8064c9d7a9f56469",
+ "value": "model_index.json: 100%"
+ }
+ },
+ "442da82cec1241b8a5249d183820673d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_4af899d9d9ba4023b4985e61e3feeda6",
+ "max": 20509,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_b692c6053fc04651833ee87015df0daa",
+ "value": 20509
+ }
+ },
+ "4497b0d5517a4acabba98e60af7c5677": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_d3406fb70a4c470fa4cd9476d60a9370",
+ "placeholder": "",
+ "style": "IPY_MODEL_63dc113923d145a88de3c2156b73a1ad",
+ "value": "diffusion_pytorch_model.safetensors: 100%"
+ }
+ },
+ "44cbd72d7bf74a10b357ea7625b5c84b": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "4964cf137c504555a7df44112e65cc0b": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "49edcb2e0c8a4e9aad0398653046cf9e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "4af899d9d9ba4023b4985e61e3feeda6": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "50f16033e1e44d05b7e9add4979a9b54": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_01d6bd13c6a743c0b82dcb51bf3e7623",
+ "placeholder": "",
+ "style": "IPY_MODEL_247a4fda6dc947cc8e7336bcffcd2781",
+ "value": " 9.06G/9.06G [01:16<00:00, 150MB/s]"
+ }
+ },
+ "516574616ff540778c024528a9fafec9": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_10468ffcd7c14cc79bc0fa023da9888a",
+ "IPY_MODEL_2b2351a243144932bc0a8fbc0b542402",
+ "IPY_MODEL_7c3adc19d763420787a6a55bb33f2d43"
+ ],
+ "layout": "IPY_MODEL_6610639505394df9b93cd39fdd0acd5c"
+ }
+ },
+ "529b32124a884391ba1176d340d480f9": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "52a240218ab84c0896c7bdc4bfe5a0ef": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "532599e42fc64bfdb57957454312ed00": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "546cbe5b663a4b9fabaff56fecc6e914": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_314154a15a8d49da8eb158b9b64df8bc",
+ "placeholder": "",
+ "style": "IPY_MODEL_da149b5bd2024a53b99282849349ea8a",
+ "value": "Fetching 14 files: 100%"
+ }
+ },
+ "5498cc4574d74bf894f35c96d74dce80": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_601ce4737c2c46b493a191c7f3f6b950",
+ "placeholder": "",
+ "style": "IPY_MODEL_2079c259a28943a0a80ddabc44026a39",
+ "value": " 25/25 [00:32<00:00, 1.07s/it]"
+ }
+ },
+ "56e272c0af234570a5371800c336ec4d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "591c006b4de647d2b95a8d3a6103a48b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_a6801b2c8f41424888dbafde4252c7da",
+ "max": 2447431856,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_5e8efc02014a455dbfbe356c965abd02",
+ "value": 2447431856
+ }
+ },
+ "5a724e34fb1b455389349963550b9da8": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5cb62c1e29b6421d8f2b98d60543e045": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_21f0ae78db2f4cd09c0b64f4ae5f7b8a",
+ "placeholder": "",
+ "style": "IPY_MODEL_bf028fd02c0e4220a3077c4f41253ed7",
+ "value": "spiece.model: 100%"
+ }
+ },
+ "5e279ec61581429f84f0329ea5e62fee": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_61edf08284b942aaa7306d0a26a59344",
+ "IPY_MODEL_c7e02eb0a33349629f58b9cbd7d3a9ad",
+ "IPY_MODEL_0f497591d8334c47a7e01aeb3ceaef81"
+ ],
+ "layout": "IPY_MODEL_01be5b3663f348e7b47747f3371c1fbd"
+ }
+ },
+ "5e8efc02014a455dbfbe356c965abd02": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "5f13dc4e83c140c1a020bebcd08943d5": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "5fc4719ad0fe4b16b0a9428ed5f32b3c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "601ce4737c2c46b493a191c7f3f6b950": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "609dff85b2104270a8e9263ee8e1e958": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "LabelModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "LabelModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "LabelView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_52a240218ab84c0896c7bdc4bfe5a0ef",
+ "placeholder": "",
+ "style": "IPY_MODEL_bd8e4b6f1e3f49a586fc2ca9baca58e3",
+ "value": "3.327 MB of 3.327 MB uploaded (0.008 MB deduped)\r"
+ }
+ },
+ "61edf08284b942aaa7306d0a26a59344": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_724772294d614997af26729ae0f845f9",
+ "placeholder": "",
+ "style": "IPY_MODEL_ff86218d2aca4ee7b3764e998b8c9b9a",
+ "value": "model-00001-of-00002.safetensors: 100%"
+ }
+ },
+ "63dc113923d145a88de3c2156b73a1ad": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "6509119a1279497b91d29c7f922e8f3f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "65bcdf864db84dff899b411bdb51d0c1": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "65c618901769460bbe35f1f68d04920c": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "6610639505394df9b93cd39fdd0acd5c": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "66c72c7c741a4288a04e29284c7dab38": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_d10632b92b72482bb3892ec471f0e756",
+ "placeholder": "",
+ "style": "IPY_MODEL_2e6f4510f5e6496f890e91f827d9cb99",
+ "value": " 719/719 [00:00<00:00, 25.4kB/s]"
+ }
+ },
+ "67b4635164a04f96adca0efb40eae566": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_9dbf25daca3840319f5686ff275d842f",
+ "max": 19886,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_08f75e1bf9864812a916f14eb29a12f9",
+ "value": 19886
+ }
+ },
+ "67f3fe40a0914321926c53e2fec176a5": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "68239504cbdf4aa0a80096171156cffd": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_85ab89a71bb248e996fb8d0148a3d64c",
+ "IPY_MODEL_ceeef5ea2da54e3b8f6fcda7f33b4e32",
+ "IPY_MODEL_5498cc4574d74bf894f35c96d74dce80"
+ ],
+ "layout": "IPY_MODEL_529b32124a884391ba1176d340d480f9"
+ }
+ },
+ "69ab97b1174b4742847ef885c7b2f4ba": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_9ff029954ed64721a4f00faf34f701c5",
+ "placeholder": "",
+ "style": "IPY_MODEL_f91b715ea2ae4fe0970c142ddc59d76e",
+ "value": " 792k/792k [00:00<00:00, 4.76MB/s]"
+ }
+ },
+ "6ad951ba967b430cbff93ae75a6b1597": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "6b1c8bebfaf3464c97151f0fa03d1204": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_5a724e34fb1b455389349963550b9da8",
+ "placeholder": "",
+ "style": "IPY_MODEL_b302595b335b458899e30ff9eb0fd79a",
+ "value": " 14/14 [01:20<00:00, 23.51s/it]"
+ }
+ },
+ "6c2bbdfd6e6f4a8faa2d47a81a0feebd": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "6c42c3efc54f436996b154c38fb32209": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "6fafd02828024e37beccd9086fb745f6": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "6ffbe6f493204f4e884692597058ad41": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "716aea1c27df41b79cf2642bb93d5df3": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": "20px"
+ }
+ },
+ "724772294d614997af26729ae0f845f9": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "729f0475028446e8bb00078a2bfbfbce": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_f54a32cfafb5462985b2e1f03f3e7b55",
+ "max": 9060119392,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_93141ddff63a44aba010559c6d209596",
+ "value": 9060119392
+ }
+ },
+ "73afbd0ff1404c63b12909c609446cf9": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "75343e1ba0604632abf96e86ad7fe8b3": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "76d11a364eae4686a5879cddb98c4ddd": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "79426ffc354b4b9daff5c64f6bea931e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "7c3adc19d763420787a6a55bb33f2d43": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_28f2f2f574f54fd6a16f244f4be5d08e",
+ "placeholder": "",
+ "style": "IPY_MODEL_fb4e2edf849047ae9790f0522e13c11e",
+ "value": " 654/654 [00:00<00:00, 28.9kB/s]"
+ }
+ },
+ "7dc25f4f13ce4d7f94356ef9edeb2eb9": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "803604e1509d4cb88fec21e96689a57b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_7dc25f4f13ce4d7f94356ef9edeb2eb9",
+ "max": 2634,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_07e2d238d83e45bf9037fa851a5e5648",
+ "value": 2634
+ }
+ },
+ "848aefc8f7c8452c8ac8871051166b3e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "85ab89a71bb248e996fb8d0148a3d64c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_95caf26b330740a593c8cc86a2fd1ee1",
+ "placeholder": "",
+ "style": "IPY_MODEL_76d11a364eae4686a5879cddb98c4ddd",
+ "value": "100%"
+ }
+ },
+ "893b076e6f86408db6c1e542b3c730f6": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_546cbe5b663a4b9fabaff56fecc6e914",
+ "IPY_MODEL_22802a6ccb80404e96f9912950d73252",
+ "IPY_MODEL_6b1c8bebfaf3464c97151f0fa03d1204"
+ ],
+ "layout": "IPY_MODEL_44cbd72d7bf74a10b357ea7625b5c84b"
+ }
+ },
+ "895a39fb613c406db808d1ad01dac37f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "8dae7b8cdf004d748be7a6395c45bd1a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "8ece46fc480c4d399e7f2b7a92e96cec": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "8f7235cc17134152a6fc37a2a8ef85b0": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "904ce266ca25413398b736c5f6760a5a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_5cb62c1e29b6421d8f2b98d60543e045",
+ "IPY_MODEL_dc0b1e41de4c4d99b6668e07e2b061a4",
+ "IPY_MODEL_69ab97b1174b4742847ef885c7b2f4ba"
+ ],
+ "layout": "IPY_MODEL_65c618901769460bbe35f1f68d04920c"
+ }
+ },
+ "920fb69e19504d3b860f0cf55900d25d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "93141ddff63a44aba010559c6d209596": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "93a02724ca12427998e17f8e355b0012": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_ee7cb7091ca5458bba7ab8cef3bb4b5e",
+ "max": 5,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_56e272c0af234570a5371800c336ec4d",
+ "value": 5
+ }
+ },
+ "94876605c0b14c55957f1ad227953d06": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_c4bce1fe40ef402cb8a86767f518fc70",
+ "IPY_MODEL_c3398473b8d54655bad516100d0d0fbb",
+ "IPY_MODEL_cc80937e599b45bc974d21f6bd5af90f"
+ ],
+ "layout": "IPY_MODEL_e6803d58f47f4b1fb4e76bca06d6b35c"
+ }
+ },
+ "950697f13cfb477cb09def01968a8be0": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_436ae734138c4274b8a0157e76c8d2e3",
+ "IPY_MODEL_c54e4159f65549a4a4d877c224aa89ed",
+ "IPY_MODEL_048a3dc56e8c4df39b1179d15029eb00"
+ ],
+ "layout": "IPY_MODEL_cc9cb09be76e43b591285a5d52c6ed76"
+ }
+ },
+ "95616ad88fc84e80a99f7aa0987a4372": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_2d4b6035778d4bac8a2159504533272e",
+ "IPY_MODEL_35675cfe3b5d4c4f83fddd70c0cf8c50",
+ "IPY_MODEL_00e83d39844348e59e7f256898e08709"
+ ],
+ "layout": "IPY_MODEL_f842eb80fed54b2ba865b75a05dae0a1"
+ }
+ },
+ "95caf26b330740a593c8cc86a2fd1ee1": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "9690ca75724a4547a505b457efa18cf5": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "973a485540b04967a277eaf9bff09fd9": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_41d1bf639c5c4ee4afc327a64b8357b7",
+ "max": 719,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_e6ee1b5afae24cf6bd731b64e53a682e",
+ "value": 719
+ }
+ },
+ "97c1c321a42f450e939bb0baf1e42785": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_6ad951ba967b430cbff93ae75a6b1597",
+ "max": 788,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_ba1c265343204064b4644f9bc9fbc0e9",
+ "value": 788
+ }
+ },
+ "98271fb9547940c69ff8958320056ca5": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "987d902ad45e4304a15dbd01fe755587": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "98f22a1dbac54d398191f61ed9764c6c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_e09197134928414c974211651e17b385",
+ "placeholder": "",
+ "style": "IPY_MODEL_42901129e32343dcb8d5edb960519a53",
+ "value": " 788/788 [00:00<00:00, 15.2kB/s]"
+ }
+ },
+ "99fd909b2eb14415a79409646dd59fd2": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "9dbf25daca3840319f5686ff275d842f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "9ee2b2a0e18d420ea09a202ce2804660": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "9fc87495a9364e27a1da550d91b85550": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "9ff029954ed64721a4f00faf34f701c5": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "a25969fd35744afdb66e9fd59612df6e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_ca2e80da3e194102a9ff2cf0880e1e99",
+ "max": 1,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_8dae7b8cdf004d748be7a6395c45bd1a",
+ "value": 1
+ }
+ },
+ "a3d6530e68c2427c893fcebcbae020f3": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "a517bf731b2748b0ae70c137beb50108": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "a6801b2c8f41424888dbafde4252c7da": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "a86366ba25244c6da47189cf59dcbec6": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "a9c174e4fa204c8eb01990bcd02a43cb": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "aa04c220c98d4d6f880a58f6aa9bda75": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_b9573401b606405da3b1d8815865b104",
+ "placeholder": "",
+ "style": "IPY_MODEL_cf75087ea8c4401faebff1fe50cc8703",
+ "value": " 2.45G/2.45G [00:31<00:00, 130MB/s]"
+ }
+ },
+ "ab13c1cef2ff4f41b64c4ad103144b31": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "acc056c201ef4cb8beac8d981b43ba3e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "b069c4b00c864783963c1bf299c5c372": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_fd5b8ec96c834a519fedba254849ec04",
+ "IPY_MODEL_d9f9127720b541ddbbe5990e322ad089",
+ "IPY_MODEL_3a04722dff694815a30d8c7c61f42e16"
+ ],
+ "layout": "IPY_MODEL_d30a20c93a404c02adaa4fcb66443cb2"
+ }
+ },
+ "b0f80fbce966413496bf67440107cc5b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "b302595b335b458899e30ff9eb0fd79a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "b61eb332e206436d93af97221feb9b4c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_6c42c3efc54f436996b154c38fb32209",
+ "placeholder": "",
+ "style": "IPY_MODEL_acc056c201ef4cb8beac8d981b43ba3e",
+ "value": " 19.9k/19.9k [00:00<00:00, 425kB/s]"
+ }
+ },
+ "b692c6053fc04651833ee87015df0daa": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "b7f856516aef474aac5d1755163a4775": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_6fafd02828024e37beccd9086fb745f6",
+ "placeholder": "",
+ "style": "IPY_MODEL_65bcdf864db84dff899b411bdb51d0c1",
+ "value": "transformer/config.json: 100%"
+ }
+ },
+ "b9573401b606405da3b1d8815865b104": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "b9cb18bf70f843e2827a5908d86d490d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_b7f856516aef474aac5d1755163a4775",
+ "IPY_MODEL_973a485540b04967a277eaf9bff09fd9",
+ "IPY_MODEL_66c72c7c741a4288a04e29284c7dab38"
+ ],
+ "layout": "IPY_MODEL_f5e977aeb3fe4edbacc09d6b9dec6df0"
+ }
+ },
+ "b9e34a78891a4be6b293733ad79fb409": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "ba1c265343204064b4644f9bc9fbc0e9": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "bd8e4b6f1e3f49a586fc2ca9baca58e3": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "bdeeb0f9825147efbb70a5eaf226a8ff": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "be51de41fd0c4ef89130862d33d57011": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "bf028fd02c0e4220a3077c4f41253ed7": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "c001ad33ee0e4df1a314228e292529b5": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "c3398473b8d54655bad516100d0d0fbb": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_cb6eb4fc3ea44449a53d362d9819dd8e",
+ "max": 2201,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_062d186b597a47a08746353bf35148b1",
+ "value": 2201
+ }
+ },
+ "c4073b2d2c1d4642a1c99ce39c8fa39b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "c4bce1fe40ef402cb8a86767f518fc70": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_dfa1e1cbc0044ba9823f307edbfbec1a",
+ "placeholder": "",
+ "style": "IPY_MODEL_ce51bb48d8184438968b0f06b87e16d3",
+ "value": "tokenizer/special_tokens_map.json: 100%"
+ }
+ },
+ "c54e4159f65549a4a4d877c224aa89ed": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_ab13c1cef2ff4f41b64c4ad103144b31",
+ "max": 400,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_920fb69e19504d3b860f0cf55900d25d",
+ "value": 400
+ }
+ },
+ "c7e02eb0a33349629f58b9cbd7d3a9ad": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_266d230ffacd4d76acb96a2466104289",
+ "max": 9989150328,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_8f7235cc17134152a6fc37a2a8ef85b0",
+ "value": 9989150328
+ }
+ },
+ "ca2e80da3e194102a9ff2cf0880e1e99": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "cb6eb4fc3ea44449a53d362d9819dd8e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "cb7c327783124585a21b6062b9a4bec7": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "cc80937e599b45bc974d21f6bd5af90f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_0d435039170340569cf92c0255d7fd5e",
+ "placeholder": "",
+ "style": "IPY_MODEL_9fc87495a9364e27a1da550d91b85550",
+ "value": " 2.20k/2.20k [00:00<00:00, 60.1kB/s]"
+ }
+ },
+ "cc9cb09be76e43b591285a5d52c6ed76": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "ce51bb48d8184438968b0f06b87e16d3": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "ce7f64ac3c164f04835d7869f7ebfb48": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "ceeef5ea2da54e3b8f6fcda7f33b4e32": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_8ece46fc480c4d399e7f2b7a92e96cec",
+ "max": 25,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_73afbd0ff1404c63b12909c609446cf9",
+ "value": 25
+ }
+ },
+ "cef1102de0a14a46a5e918afc52f03bc": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "cf75087ea8c4401faebff1fe50cc8703": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "d10632b92b72482bb3892ec471f0e756": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "d213aeaea9f949658d1bd9728ee86fef": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_1cde89e63bd7437e9fac7446fc33aea3",
+ "IPY_MODEL_442da82cec1241b8a5249d183820673d",
+ "IPY_MODEL_f65994d833e04d9f96d2613a82651cdd"
+ ],
+ "layout": "IPY_MODEL_eb118c92cb514e999f7b02ebfbbc7d0b"
+ }
+ },
+ "d30a20c93a404c02adaa4fcb66443cb2": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "d3406fb70a4c470fa4cd9476d60a9370": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "d7a4b722cbc74d548edd1d0469d258a7": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "d7b8ca6b0cf549af8f3f8b0e15f0b8af": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_cb7c327783124585a21b6062b9a4bec7",
+ "placeholder": "",
+ "style": "IPY_MODEL_5f13dc4e83c140c1a020bebcd08943d5",
+ "value": " 335M/335M [00:03<00:00, 92.4MB/s]"
+ }
+ },
+ "d96719a9e06845aaae085bd256148333": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_4497b0d5517a4acabba98e60af7c5677",
+ "IPY_MODEL_fe96da4d0e484f79ab3a82820ddea5ea",
+ "IPY_MODEL_d7b8ca6b0cf549af8f3f8b0e15f0b8af"
+ ],
+ "layout": "IPY_MODEL_2cb5315f2ad748c4a8605208dc9492d1"
+ }
+ },
+ "d9f9127720b541ddbbe5990e322ad089": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_6ffbe6f493204f4e884692597058ad41",
+ "max": 655,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_a517bf731b2748b0ae70c137beb50108",
+ "value": 655
+ }
+ },
+ "da149b5bd2024a53b99282849349ea8a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "dc0b1e41de4c4d99b6668e07e2b061a4": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_e29ec1b24ede4619881a3e011699c434",
+ "max": 791656,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_75343e1ba0604632abf96e86ad7fe8b3",
+ "value": 791656
+ }
+ },
+ "dce47f13fc15450787a63016b61e1c1a": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "dfa1e1cbc0044ba9823f307edbfbec1a": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "e09197134928414c974211651e17b385": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "e28d59c860df45c9ad7318461e4ed25f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "e29ec1b24ede4619881a3e011699c434": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "e6803d58f47f4b1fb4e76bca06d6b35c": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "e6ee1b5afae24cf6bd731b64e53a682e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "e89ac0f3c4c848bb9505a357ca31919a": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "e9b0e81e633940e4983ceaf14687fa3b": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "eb118c92cb514e999f7b02ebfbbc7d0b": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "ed3e92da5ade4986b381ef86e0d57ed4": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_2f428cbd696a4ba4906c7fd8f74a57d4",
+ "placeholder": "",
+ "style": "IPY_MODEL_f1bea04743fd4a63aaa1b03acdac859d",
+ "value": " 2/2 [00:02<00:00, 1.17s/it]"
+ }
+ },
+ "ee7cb7091ca5458bba7ab8cef3bb4b5e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "f1bea04743fd4a63aaa1b03acdac859d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "f54a32cfafb5462985b2e1f03f3e7b55": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "f5e977aeb3fe4edbacc09d6b9dec6df0": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "f650b81e97cf47b78b6512ff4a0794c6": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "f65994d833e04d9f96d2613a82651cdd": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_0a4330eafca245378354d0abe07f881f",
+ "placeholder": "",
+ "style": "IPY_MODEL_05c9d7dd8bca4023b8e9d67d8edcf84b",
+ "value": " 20.5k/20.5k [00:00<00:00, 1.28MB/s]"
+ }
+ },
+ "f7dabfcad74b4838b3ad63d62457f140": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "f842eb80fed54b2ba865b75a05dae0a1": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "f91b715ea2ae4fe0970c142ddc59d76e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "f9730c19c2bc45a0ac95964fd7950032": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_6509119a1279497b91d29c7f922e8f3f",
+ "placeholder": "",
+ "style": "IPY_MODEL_2c886cdef1d04e45a735cebaf8e05b00",
+ "value": "tokenizer/added_tokens.json: 100%"
+ }
+ },
+ "faa63481cc9a4ac5adbdeee025a7de19": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "fac39df9084640bbbee32339dc4613ad": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_99fd909b2eb14415a79409646dd59fd2",
+ "placeholder": "",
+ "style": "IPY_MODEL_41c8d0eff808446abd70ce585da26978",
+ "value": "text_encoder/config.json: 100%"
+ }
+ },
+ "fb4e2edf849047ae9790f0522e13c11e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "fb7fffb9281f42b693c1b7f48325f96f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "fba986e08f5242afaa9ffc193ef9b3b1": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "fd5b8ec96c834a519fedba254849ec04": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_dce47f13fc15450787a63016b61e1c1a",
+ "placeholder": "",
+ "style": "IPY_MODEL_c4073b2d2c1d4642a1c99ce39c8fa39b",
+ "value": "scheduler/scheduler_config.json: 100%"
+ }
+ },
+ "fe163c82f9b04a15ac6b923ed3b01873": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_f650b81e97cf47b78b6512ff4a0794c6",
+ "placeholder": "",
+ "style": "IPY_MODEL_d7a4b722cbc74d548edd1d0469d258a7",
+ "value": "model-00002-of-00002.safetensors: 100%"
+ }
+ },
+ "fe96da4d0e484f79ab3a82820ddea5ea": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_9690ca75724a4547a505b457efa18cf5",
+ "max": 334643268,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_b9e34a78891a4be6b293733ad79fb409",
+ "value": 334643268
+ }
+ },
+ "ff86218d2aca4ee7b3764e998b8c9b9a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ }
+ }
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/colabs/diffusers/sdxl-diffusers.ipynb b/colabs/diffusers/sdxl-diffusers.ipynb
new file mode 100644
index 00000000..302184b8
--- /dev/null
+++ b/colabs/diffusers/sdxl-diffusers.ipynb
@@ -0,0 +1,153 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Image Generation with Stable Diffusion XL using 🤗 Diffusers\n",
+ "\n",
+ "\n",
+ "\n",
+ "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/diffusers/sdxl-diffusers.ipynb)\n",
+ "\n",
+ "This notebook demonstrates the following:\n",
+ "- Performing text-conditional image-generations with the [Stable Diffusion XL](https://huggingface.co/docs/diffusers/api/pipelines/stable_diffusion/stable_diffusion_xl) using [🤗 Diffusers](https://huggingface.co/docs/diffusers).\n",
+ "- Manage image generation experiments using [Weights & Biases](http://wandb.ai/site).\n",
+ "- Log the prompts, generated images and experiment configs to [Weigts & Biases](http://wandb.ai/site) for visalization.\n",
+ "\n",
+ "![](./assets/diffusers-autolog-5.gif)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install diffusers transformers accelerate wandb > install.log"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import random\n",
+ "\n",
+ "import torch\n",
+ "from diffusers import StableDiffusionXLImg2ImgPipeline, StableDiffusionXLPipeline\n",
+ "\n",
+ "import wandb\n",
+ "from wandb.integration.diffusers import autolog"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "base_model_id = \"stabilityai/stable-diffusion-xl-base-1.0\" # @param [\"stabilityai/stable-diffusion-xl-base-1.0\", \"segmind/SSD-1B\", \"stabilityai/sdxl-turbo\"]\n",
+ "\n",
+ "base_pipeline = StableDiffusionXLPipeline.from_pretrained(\n",
+ " \"stabilityai/stable-diffusion-xl-base-1.0\",\n",
+ " torch_dtype=torch.float16,\n",
+ " variant=\"fp16\",\n",
+ " use_safetensors=True,\n",
+ ")\n",
+ "\n",
+ "base_pipeline.enable_model_cpu_offload()\n",
+ "\n",
+ "refiner_pipeline = StableDiffusionXLImg2ImgPipeline.from_pretrained(\n",
+ " \"stabilityai/stable-diffusion-xl-refiner-1.0\",\n",
+ " text_encoder_2=base_pipeline.text_encoder_2,\n",
+ " vae=base_pipeline.vae,\n",
+ " torch_dtype=torch.float16,\n",
+ " use_safetensors=True,\n",
+ " variant=\"fp16\",\n",
+ ")\n",
+ "refiner_pipeline.enable_model_cpu_offload()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb_project = \"pixart-alpha\" # @param {type:\"string\"}\n",
+ "\n",
+ "prompt_1 = \"a photograph of an evil and vile looking demon in Bengali attire eating fish. The demon has large and bloody teeth. The demon is sitting on the branches of a giant Banyan tree, dimly lit, bluish and dark color palette, realistic, 8k\" # @param {type:\"string\"}\n",
+ "prompt_2 = \"\" # @param {type:\"string\"}\n",
+ "negative_prompt_1 = \"static, frame, painting, illustration, sd character, low quality, low resolution, greyscale, monochrome, nose, cropped, lowres, jpeg artifacts, deformed iris, deformed pupils, bad eyes, semi-realistic worst quality, bad lips, deformed mouth, deformed face, deformed fingers, deformed toes standing still, posing\" # @param {type:\"string\"}\n",
+ "negative_prompt_2 = \"static, frame, painting, illustration, sd character, low quality, low resolution, greyscale, monochrome, nose, cropped, lowres, jpeg artifacts, deformed iris, deformed pupils, bad eyes, semi-realistic worst quality, bad lips, deformed mouth, deformed face, deformed fingers, deformed toes standing still, posing\" # @param {type:\"string\"}\n",
+ "num_inference_steps = 50 # @param {type:\"slider\", min:10, max:100, step:1}\n",
+ "guidance_scale = 5.0 # @param {type:\"slider\", min:0, max:10, step:0.1}\n",
+ "height = 1024 # @param {type:\"slider\", min:512, max:2560, step:32}\n",
+ "width = 1024 # @param {type:\"slider\", min:512, max:2560, step:32}\n",
+ "seed = None # @param {type:\"raw\"}\n",
+ "\n",
+ "\n",
+ "def autogenerate_seed():\n",
+ " max_seed = int(1024 * 1024 * 1024)\n",
+ " seed = random.randint(1, max_seed)\n",
+ " seed = -seed if seed < 0 else seed\n",
+ " seed = seed % max_seed\n",
+ " return seed\n",
+ "\n",
+ "\n",
+ "seed = autogenerate_seed() if seed is None else seed\n",
+ "\n",
+ "# Make the experiment reproducible by controlling randomness.\n",
+ "# The seed would be automatically logged to WandB.\n",
+ "generator_base = torch.Generator(device=\"cuda\").manual_seed(seed)\n",
+ "generator_refiner = torch.Generator(device=\"cuda\").manual_seed(seed)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Call WandB Autolog for Diffusers. This would automatically log\n",
+ "# the prompts, generated images, pipeline architecture and all\n",
+ "# associated experiment configs to Weights & Biases, thus making your\n",
+ "# image generation experiments easy to reproduce, share and analyze.\n",
+ "autolog(init=dict(project=wandb_project))\n",
+ "\n",
+ "image = base_pipeline(\n",
+ " prompt=prompt_1,\n",
+ " prompt_2=prompt_2,\n",
+ " negative_prompt=negative_prompt_1,\n",
+ " negative_prompt_2=negative_prompt_2,\n",
+ " num_inference_steps=num_inference_steps,\n",
+ " output_type=\"latent\",\n",
+ " generator=generator_base,\n",
+ " guidance_scale=guidance_scale,\n",
+ ").images[0]\n",
+ "\n",
+ "image = refiner_pipeline(\n",
+ " prompt=prompt_1,\n",
+ " prompt_2=prompt_2,\n",
+ " negative_prompt=negative_prompt_1,\n",
+ " negative_prompt_2=negative_prompt_2,\n",
+ " image=image[None, :],\n",
+ " num_inference_steps=num_inference_steps,\n",
+ " guidance_scale=guidance_scale,\n",
+ " generator=generator_refiner,\n",
+ ").images[0]\n",
+ "\n",
+ "wandb.finish()"
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/colabs/diffusers/sdxl-text-to-image.ipynb b/colabs/diffusers/sdxl-text-to-image.ipynb
index 65663461..3050b661 100644
--- a/colabs/diffusers/sdxl-text-to-image.ipynb
+++ b/colabs/diffusers/sdxl-text-to-image.ipynb
@@ -148,7 +148,7 @@
"\n",
"1. We define the base diffusion pipeline using `diffusers.DiffusionPipeline` and load the pre-trained weights for SDXL 1.0 by calling the `from_pretrained` function on it. We also pass the scheduler as `diffusers.EulerDiscreteScheduler` in this step.\n",
"\n",
- "2. In case we don't have a GPU with large enough GPU, it's recommended to enable CPU offloading. Otherwise, we load the model on the GPU. In case you're curious how HiggingFace manages CPU offloading in the most optimized manner, we recommend you read this port by [Sylvain Gugger](https://huggingface.co/sgugger): [How 🤗 Accelerate runs very large models thanks to PyTorch](https://huggingface.co/blog/accelerate-large-models).\n",
+ "2. In case we don't have a GPU with large enough GPU, it's recommended to enable CPU offloading. Otherwise, we load the model on the GPU. In case you're curious how HuggingFace manages CPU offloading in the most optimized manner, we recommend you read this port by [Sylvain Gugger](https://huggingface.co/sgugger): [How 🤗 Accelerate runs very large models thanks to PyTorch](https://huggingface.co/blog/accelerate-large-models).\n",
"\n",
"3. We can compile model using `torch.compile`, this might give a significant speedup.\n",
"\n",
diff --git a/colabs/dsviz/W&B_Dataset_and_Predictions_Viz_Demo.ipynb b/colabs/dsviz/W&B_Dataset_and_Predictions_Viz_Demo.ipynb
index b7447302..4c713086 100644
--- a/colabs/dsviz/W&B_Dataset_and_Predictions_Viz_Demo.ipynb
+++ b/colabs/dsviz/W&B_Dataset_and_Predictions_Viz_Demo.ipynb
@@ -112,7 +112,15 @@
"outputs": [],
"source": [
"# default project name where results will be logged\n",
- "WANDB_PROJECT = \"dsviz-demo\"\n",
+ "WANDB_PROJECT = \"dsviz-demo\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/huggingface/Custom_Progress_Callback.ipynb b/colabs/huggingface/Custom_Progress_Callback.ipynb
new file mode 100644
index 00000000..252e18cc
--- /dev/null
+++ b/colabs/huggingface/Custom_Progress_Callback.ipynb
@@ -0,0 +1,460 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ ""
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Visualize LLM training progress with Wandb Tables\n",
+ "\n",
+ "In this example we will see how to instrument a custom [callback](https://huggingface.co/docs/transformers/main_classes/callback) for the huggingface [Trainer](https://huggingface.co/docs/transformers/main_classes/trainer) to periodically visualize model predictions using Weight & Biases [Tables](https://wandb.ai/site/tables)\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "## 🤔 Why should I use W&B?\n",
+ "\n",
+ "\n",
+ "\n",
+ "- **Unified dashboard**: Central repository for all your model metrics and predictions\n",
+ "- **Lightweight**: No code changes required to integrate with Hugging Face\n",
+ "- **Accessible**: Free for individuals and academic teams\n",
+ "- **Secure**: All projects are private by default\n",
+ "- **Trusted**: Used by machine learning teams at OpenAI, Toyota, Lyft and more\n",
+ "\n",
+ "Think of W&B like GitHub for machine learning models— save machine learning experiments to your private, hosted dashboard. Experiment quickly with the confidence that all the versions of your models are saved for you, no matter where you're running your scripts.\n",
+ "\n",
+ "W&B lightweight integrations works with any Python script, and all you need to do is sign up for a free W&B account to start tracking and visualizing your models."
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 🚀 Install, Import, and Log in\n",
+ "\n",
+ "\n",
+ "To get started with this example you will need to Install the Transformers, Weights & Biases, datasets libraries.\n",
+ "- [Hugging Face Transformers](https://github.com/huggingface/transformers)\n",
+ "- [Weights & Biases](https://docs.wandb.com/)\n",
+ "- [Huggingface Datasets](https://github.com/huggingface/datasets)\n",
+ "\n",
+ "**Uncomment the following cell install the libraries.**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# ! pip install -qqq datasets \"transformers[torch]\" wandb"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 🖊️ [Sign up for a free account →](https://app.wandb.ai/login?signup=true)\n",
+ "\n",
+ "## 🔑 Put in your API key\n",
+ "\n",
+ "Once you've signed up, run the next cell and click on the link to get your API key and authenticate this notebook."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import wandb\n",
+ "wandb.login()"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Train a language model\n",
+ "\n",
+ "In this notebook, we'll see how to train a [🤗 Transformers](https://github.com/huggingface/transformers) model on the Causal language modeling task i.e. the model has to predict the next token in the sentence (so the labels are the same as the inputs shifted to the right). To make sure the model does not cheat, it gets an attention mask that will prevent it to access the tokens after token i when trying to predict the token i+1 in the sentence.\n",
+ "\n",
+ "We will see how to load and preprocess the dataset for the task and train a model on it using the `Trainer` API.\n",
+ "We will be building a custom trainer callback to visualize the model predictions using Weights & Biases Tables by priodically logging the predictions to the table."
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Prepare the dataset"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "we will use the [Wikitext 2](https://paperswithcode.com/dataset/wikitext-2) dataset as an example for this task."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from datasets import load_dataset\n",
+ "datasets = load_dataset('wikitext', 'wikitext-2-raw-v1')\n",
+ "\n",
+ "# look at a sample from the train dataset\n",
+ "datasets[\"train\"][10]"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "For causal language modeling (CLM) task we are going to take all the texts in our dataset and concatenate them after they are tokenized.\n",
+ "Then we split them in examples of a certain sequence length. This way the model will receive chunks of contiguous text that may look like:\n",
+ "```\n",
+ "part of text 1\n",
+ "```\n",
+ "or\n",
+ "```\n",
+ "end of text 1 [BOS_TOKEN] beginning of text 2\n",
+ "```\n",
+ "depending on whether they span over several of the original texts in the dataset or not. The labels will be the same as the inputs, shifted to the left.\n",
+ "\n",
+ "We will use the [`gpt2`](https://huggingface.co/gpt2) architecture for this example. You can pick any of the checkpoints listed [here](https://huggingface.co/models?filter=causal-lm) instead."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "MODEL_NAME =\"gpt2\"\n",
+ "\n",
+ "from transformers import AutoTokenizer, AutoModelForCausalLM\n",
+ "\n",
+ "tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can now call the tokenizer on all our texts using the [`map`](https://huggingface.co/docs/datasets/process#map) method from the Datasets library."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def tokenize_function(examples):\n",
+ " return tokenizer(examples[\"text\"])\n",
+ "\n",
+ "tokenized_datasets = datasets.map(tokenize_function, batched=True, num_proc=4, remove_columns=[\"text\"])"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Next, we need to concatenate all our texts together then split the result in small chunks of a certain `block_size`. Here we will use a block_size of `128`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "BLOCK_SIZE = 128\n",
+ "\n",
+ "def group_texts(examples):\n",
+ " # Concatenate all texts.\n",
+ " concatenated_examples = {k: sum(examples[k], []) for k in examples.keys()}\n",
+ " total_length = len(concatenated_examples[list(examples.keys())[0]])\n",
+ " # We drop the small remainder, we could add padding if the model supported it instead of this drop, you can\n",
+ " # customize this part to your needs.\n",
+ " total_length = (total_length // BLOCK_SIZE) * BLOCK_SIZE\n",
+ " # Split by chunks of max_len.\n",
+ " result = {\n",
+ " k: [t[i : i + BLOCK_SIZE] for i in range(0, total_length, BLOCK_SIZE)]\n",
+ " for k, t in concatenated_examples.items()\n",
+ " }\n",
+ " result[\"labels\"] = result[\"input_ids\"].copy()\n",
+ " return result\n",
+ "\n",
+ "\n",
+ "lm_datasets = tokenized_datasets.map(\n",
+ " group_texts,\n",
+ " batched=True,\n",
+ " batch_size=1000,\n",
+ " num_proc=4,\n",
+ ")\n",
+ "\n",
+ "# look at a sample from the preprocessed dataset\n",
+ "tokenizer.decode(lm_datasets[\"train\"][1][\"input_ids\"])"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Model & TrainingArguments\n",
+ "\n",
+ "Now that we have our dataset prepared we are readt to instantiate the model and the Training Arguments.\n",
+ "For simpilicity we will train the model for 3 epochs and log the model predictions and metrics after each epoch."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from transformers import AutoConfig, AutoModelForCausalLM\n",
+ "from transformers import Trainer, TrainingArguments\n",
+ "\n",
+ "model = AutoModelForCausalLM.from_pretrained(MODEL_NAME,)\n",
+ "\n",
+ "training_args = TrainingArguments(\n",
+ " f\"{MODEL_NAME}-wikitext2\",\n",
+ " evaluation_strategy=\"epoch\",\n",
+ " num_train_epochs=3,\n",
+ " learning_rate=2e-5,\n",
+ " do_train=True,\n",
+ " do_eval=True,\n",
+ " weight_decay=0.01,\n",
+ " logging_strategy=\"epoch\",\n",
+ " fp16=True,\n",
+ " dataloader_num_workers=4,\n",
+ "\n",
+ ")"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## WandbPredictionProgressCallback\n",
+ "\n",
+ "To periodically visualize the results we will subclass the [`WandbCallback`](https://huggingface.co/docs/transformers/main_classes/callback#transformers.integrations.WandbCallback) from the transformers library. This callback already instrumented to log model metrics, checkpoints and system metrics to Weights & Biases.\n",
+ "\n",
+ "Here we will customize the callback to periodically log model predictions and labels to a `wandb.Table` so that we can visualize the model predictions as the training progresses. To do this, we will also need to pass the trainier and tokenizer to our callback in order to predict over the validation dataset."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from transformers.integrations import WandbCallback\n",
+ "import pandas as pd\n",
+ "import os\n",
+ "\n",
+ "os.environ[\"WANDB_LOG_MODEL\"] = \"checkpoint\"\n",
+ "\n",
+ "def decode_predictions(tokenizer, predictions):\n",
+ " labels = tokenizer.batch_decode(predictions.label_ids)\n",
+ " prediction_text = tokenizer.batch_decode(predictions.predictions.argmax(axis=-1))\n",
+ " return {\"labels\": labels, \"predictions\": prediction_text}\n",
+ "\n",
+ "\n",
+ "class WandbPredictionProgressCallback(WandbCallback):\n",
+ " \"\"\"Custom WandbCallback to log model predictions during training.\n",
+ "\n",
+ " This callback logs model predictions and labels to a wandb.Table at each logging step during training.\n",
+ " It allows to visualize the model predictions as the training progresses.\n",
+ "\n",
+ " Attributes:\n",
+ " trainer (Trainer): The Hugging Face Trainer instance.\n",
+ " tokenizer (AutoTokenizer): The tokenizer associated with the model.\n",
+ " sample_dataset (Dataset): A subset of the validation dataset for generating predictions.\n",
+ " num_samples (int, optional): Number of samples to select from the validation dataset for generating predictions. Defaults to 100.\n",
+ " \"\"\"\n",
+ "\n",
+ " def __init__(self, trainer, tokenizer, val_dataset, num_samples=100, freq=2):\n",
+ " \"\"\"Initializes the WandbPredictionProgressCallback instance.\n",
+ "\n",
+ " Args:\n",
+ " trainer (Trainer): The Hugging Face Trainer instance.\n",
+ " tokenizer (AutoTokenizer): The tokenizer associated with the model.\n",
+ " val_dataset (Dataset): The validation dataset.\n",
+ " num_samples (int, optional): Number of samples to select from the validation dataset for generating predictions. Defaults to 100.\n",
+ " freq (int, optional): Control the frequency of logging. Defaults to 2.\n",
+ " \"\"\"\n",
+ " super().__init__()\n",
+ " self.trainer = trainer\n",
+ " self.tokenizer = tokenizer\n",
+ " self.sample_dataset = val_dataset.select(range(num_samples))\n",
+ " self.freq = freq\n",
+ "\n",
+ "\n",
+ " def on_evaluate(self, args, state, control, **kwargs):\n",
+ " super().on_evaluate(args, state, control, **kwargs)\n",
+ " # control the frequency of logging by logging the predictions every `freq` epochs\n",
+ " if state.epoch % self.freq == 0:\n",
+ " # generate predictions\n",
+ " predictions = self.trainer.predict(self.sample_dataset)\n",
+ " # decode predictions and labels\n",
+ " predictions = decode_predictions(self.tokenizer, predictions)\n",
+ " # add predictions to a wandb.Table\n",
+ " predictions_df = pd.DataFrame(predictions)\n",
+ " predictions_df[\"epoch\"] = state.epoch\n",
+ " records_table = self._wandb.Table(dataframe=predictions_df)\n",
+ " # log the table to wandb\n",
+ " self._wandb.log({\"sample_predictions\": records_table})\n"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Trainer\n",
+ "\n",
+ "First we inistantiate the [`Trainer`] class with the model, training arguments, and the train, eval datasets. Since our callback needs to store predictions after each evaluation we will be passing the trainer to callback and then adding the callback to the trainer.\n",
+ "\n",
+ "**Note**: Here we donot add the callback while inistatiating the `Trainer` but instead we will use the `add_callback` method to include the callback in the trainer after instantiation."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "trainer = Trainer(\n",
+ " model=model,\n",
+ " args=training_args,\n",
+ " train_dataset=lm_datasets[\"train\"],\n",
+ " eval_dataset=lm_datasets[\"validation\"],\n",
+ "\n",
+ ")\n",
+ "\n",
+ "\n",
+ "progress_callback = WandbPredictionProgressCallback(trainer, tokenizer, lm_datasets[\"validation\"], 10)\n",
+ "trainer.add_callback(progress_callback)"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Training\n",
+ "\n",
+ "And that's it, we are ready to train the model and visualize the predictions."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "trainer.train()"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 👀 Visualize results in dashboard\n",
+ "\n",
+ "Click the link printed out above, or go to [wandb.ai](https://app.wandb.ai) to see your results stream in live. The link to see your run in the browser will appear after all the dependencies are loaded — look for the following output:\n",
+ "\n",
+ "```\n",
+ "Tracking run with wandb version \n",
+ "Run data is saved locally in \n",
+ "Syncing run to Weights & Biases (docs)\n",
+ "View project at \n",
+ "View run at \n",
+ "```\n",
+ "\n",
+ "Click on the to visualize the sample model predictions epoch. You should see a table similar to the one shown in the screenshot below."
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![](data:image/png;base64,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1KlTY+DAgTFhwoTadONaAsuUQJs2bWKTTTaJ5s2bF+2+BY2LRqkjAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoBgCAwYMyEPGKTjZs2fPaNeuXTRo0KAYXeuDwFIlMHv27Bg7dmwMHTq04p3p3bt30e5R0LholDoiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaiswbNiwGDJkSKSQ8TbbbCNgXFtQ1y8TAilw/PTTT+dh43XWWSd69OhRlPsWNC4Ko04IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBYggUqhlvvvnm0b59+2J0qQ8Cy4TAxx9/HC+88EIe0i9WVWNB42Vi6bhJAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQNwT69+8fc+bMib59+6pmXDcemVmWiUCqanzfffdF/fr1Y6+99irKrASNi8KoEwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAYAvfcc0/ezT777FOM7vRBYJkSKPb7I2i8TC0fN0uAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpboNhByfK+W7MjUFyBYr8/gsbFfT56I0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGohUOygZC2m4lICdU6g2O+PoHGdWwImTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEll6BYgcll14pd0agqkCx3x9B46rG9hAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIlEih2ULJEt2FYAiURKPb7I2hcksdoUAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKA6gWIHJasbwz4CS6tAsd8fQeOldaW4LwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUAcFih2UrIMEpkxgsQWK/f4IGi/2o3AhAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUGyBYgcliz0//REoZ4Fivz+CxuX8tJfyuX311Vcx77/qbrlevXox77/qzrOPAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOq+QLGDknVfxB0QWHiBYr8/gsYLb+/MIgikYPGcOXMqAsaL02UhdFy/fv08gLw4fbiGAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpToNhByfK8S7MisGQEiv3+CBovmeek12oEZs+enYeMqzm02LtS2LhBgwaLfb0LCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKC8BIodlCyvuzMbAktWoNjvj6Dxkn1ees8EUgXjFDJeki2FjVPoWCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBui1Q7KBk3dYwewKLJlDs90fQeNH8nb2IAkuiinFNU1DduCYZ+wkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFB3BIodlKw7d26mBGovUOz3R9C49s9EDzUIfJsh48IUhI0LEn4TIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgbgoUOyhZNxXMmsDiCRT7/RE0Xrzn4KoFCJQiZFyYkrBxQcJvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1D2BYgcl656AGRNYfIFivz+CxovwLMaN+zxO/d0Z+RV79d0j9txj90W4+ptTi9XPNz2W11YpQ8YFCWHjgoTfBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqFsCxQ5K1q27N1sCtRMo9vsjaLwIz+Pjjz+O737v0PyKI354eBzxg8MX4epvTi1WP9/0WD5bc+bMiRQ0LofWoEGDSIFjjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqjkCxg5J1584XPNO33nor7rjjjqhXr16ceuqpC75gnjMeeuihGDhwYKy66qpx6KFf5yHnOWWZ/vj888/HY489FiuuuGL89Kc/rZMWxX5/6kzQ+LNx4+KAAw9e7Id28YUXxIYbbrDY16cLixUQLlY/tbqZJXTxrFmzllDPi9dtw4YNF+9CVxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBASQSKHZQsyU38b9AxY8bk2cP0cfXVV48WLVrUajpDhgyJm2++OQ8an3322YvcV//+/eOFF16I7t27x5FHHrnI1y/tFzz99NORwtjt2rWL4447rk7ebrHfnzoVNN7/gIMW+6FdetGfBY0XW2/hLkyVjFNF43JqqaJxqmysESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDdECh2ULKUd3311VfH8OHD8ynsvPPO0bt371pNR9C4VnwLvFjQuCpRnQkaz/ryyxgy5M2qd5DtufjSy2LEiJHRvHnzOPeP1Sf0e6zWvdZ/CVCsSsTF6qdajBLt/Oqrr+LL7BmVY1tuueXyv94ox7mZEwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMLbC0BI2nTJkS5513XrRs2TImTZoU7du3j2OPPXbum13ET4LGiwi2iKcLGlcFqzNB46pT/2bPMT8/Lga/MSRat24d/e++45sDRd4qVkC4WP0U+fZq1V2xqhmPGj06+t1+Z7z8yiv5l+oFfzqnVvNKF6tqXGtCHRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBbE1hagsYvvPBC9O/fP/r06ROvvvpqjBs3Ln75y1/GiiuuuNiWgsaLTbdQFwoaV2USNK5qUuOeygHhI4/4Qfzw8MNqPHd+Byr3c8QPD48jfnD4/E6vE8dSNeNU1Xhx2+133hX39r8/Ro0aVdFFl86d49qr/1nxeXE36tWrF6mqsUaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC5S+wtASNr7rqqhg5cmQcffTRedD4+eefj5122il22GGHxX4Ib775Ztx0002RcnFnn332Ivdz//33x3PPPRfdu3ePI488cpGvX9ovEDSu+oSXyaDxxIkT49nnno93h70X7747LEaPGROdO3WM1bIX5+CDvhsrrdSuqlS2p3JA+Kgf/ygOPeR78f77H8R//vvfGDRocN7PGqv3iLXWXDP23mvPvNx5dR1V7mdBQeM5WXj3kUcejVdfGxRvvvVW1K9XP9ZYY/Xotf56scceu2ef61U3RL5v2Hvvxe133JV9Ub0fY8eOjc6dO0WPHj1i2222jg16rV/jdYt6IAWMU9C4Nu0P5/wpXho4MO9i1qxZMWPGzChW0Dh1moLG6YtVI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHyFlgagsaTJ0+O888/P5o2bRonn3xyDBs2LK677rosn7hS/OIXv1jgAxgxYkS89tpr8cEHH+Tnds4Kd2622WZZtm5GXHvttQsMGr/yyisxdOjQvPhnixYtokuXLrHttttGqrI8YMCARQoap4B0yj2m69u2bRupqnLq+/3334/GjRtn2cTOsemmm0aHDh1qvK90/VtZBnJMltdM2w0aNIj27dvHlltuGV27dq32ulQNes6cObHPPvvkx1PI+p133olk07Bhw/yedtlll9y42g6ynbNnz440/3RNGrtVq1bRsWPH2HrrrWOFFVaocpmgcRWSWKaCxlOmTIlbbu0XqXruF198UVUj29O6des4+8wzqg3iVg4I/99RP84X8LXX/jtmVROyTaHeP/3xD9kL0KXKOJX7mV/Q+LOsTPrZfzw3+0uG16r0kXZsssnGcfqpp0SbNq2rHL/239dnXyb/jhRUrq5t33u7+PUvj6v22urOn9++9CKnl7FYrd/td8Tfr7yqqEHj9KVUv379Yk1RPwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwhASWhqBxqhqcqgdvtNFGsf/+++fFPM8999w8KJyCxilwXF1LhT+feOKJ/F/artxSsc1UbPTdd9+tMWg8ffr0uOOOO/JQb+Vr03aTJk3ycVN4eVEqGl9//fV5sHi33XaL4cOH52HfeftOwd8DDjgg1llnnbkOjR8/Ph566KFIIeHC/aT7KGynbN93vvOdWH/9qsVTzzrrrJg5c2acdNJJ8cADD8TgwYPn6jt9WH755ePnP/95NGrUqMqxcVkG87bbbsvD1ulgCn0nnzR2Ckin+a611lpzXSdoPBdH/qHGoPHUqVPj2WefzR/ChhtumKfHq16+4D2pOu2gQYNi0qRJ0bt378XuZ34jHfPz42LwG0PykHD/u++o8dS77r4nLr70L/nxtbPFsX5WFXjNnmvki+algS/HAw8+lB9bOXuBb77x33kV3MqdVQ4IN8kW2fTsLwParbhibJNVCE4Vhj/55NN4Pkv7p+rDqbVs2TJuyfpJvyu3yv3UFDROL9cPjvxxTJgwMdJY3//+wVn4uVcelh38xhtx3b9vyBf8utlL+dfLL63cfV4Z+IQTT87vK93fLjv3iY2yZzjm4zHZsVfi3v73Rfdu3eJvV1yWp/rnungxPqSQcQobF6stiaBxChmnLySNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpbYGkIGl955ZV5NeJDDjmkIsx6yy23xBtZ/m+HHXaInXbaqdqHkHKbKVSb2nrrrZdXEV4xyymOHTs2Ung5VTlOLYV1zz777Hy78o8bb7wxDxmn4zvuuGMe4G3WrFketn300UcrQreLEzRO46QcXqpsvO6662aFTtvERx99FPfdd1989tln+bHjjz8+rxpcmFPKjl588cV59eBURThVVk6VhNP56Tmn0HOquHzCCSdUyWwWgsapgGwqLpvG7dmzZzRv3jwr4Ppq/Oc//8lzknvuuWdeGbkwZvr9ZVZA9rLLLovPP/88Vl999ejbt29ejTllWl966aV4+OGH8/HSfJNPoQkaFyS++T3foHFKxafkdrt27fKy1osa1EwP5OWXX45PP/00D7SmEtWL2sc3U615a2GDxikQe8aZZ8deffeMzTfbtEqH11z377gmqwKc2iknnxS77bLzXOdUDginAzvtuEOccPyvonmlRZa8Lrns8kih5tSOPOIH8cPDD8u3Cz8q91NT0PiP554XDz/yaB6eTkHiLllp8cptxIiR8eOjfppXUz7v3D/GlltsXnH4nOzah7JrGy63XNx+2815WLziYLbxwQcf5s+jQ4f2lXcv9nZ6IQt/XbDYnVS6cEkEjdOX5nKZh0aAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC5S1Q14PGEyZMiAsvvDDPrJ1yyikVBUFT0dZ+/fpFCg7/8pe/rPIQUpj2oosuyouQbrzxxrHvvvvmgeLKJz711FN5SLa6oPF7770X11xzTX56qhKcisxWbqmg6E033RRvv/32YlU0TtWDv/e970XHjh0rd5uHgFOYeNq0aZHCxLvvvvtcx0ePHh0dOnSoci9TpkyJCy64IFK286CDDsqD1ZUvLASNU7HXww47rMq41157bQwbNixWW221OOKIIypfGo8//nheFXqVVVaJH//4x1XGfvDBB+OZZ57Jw8u77rprxbWCxhUUFRs1Bo1TcHTUqFF56jttpzLdm2666UIHhSuHjFM12Q022CA6zxOWrZhFLTcWNmi8oGHSot1nvwPy8O6eu+8WJ514wlyXVA4I752FlVPIuLqWgrffOfDgGJ99WbRq1Sruuv3Wii+KdH7lfqoLGr/++uA49riv+z7jd6fmgebqxvnzRZfk1Yk33mjDuPjCCypOOfqYn8eQN9+KVLX573/9uoJzxcElsJGedTHbkggap/ml0uwaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJS3QF0PGhfCqmuuuWYceuihFdjTp0+Pc845J1Lg99hjj4327ecuFjpgwIBIVYcbNWoUqdJuqtw7bxsyZEjcfPPN1VY0LgRvO3XqFEcfffS8l+af+/fvHy+88MJiBY0322yz2HvvvavtN1VhTtWYU2byxBNPrPac6nb+7W9/y7Oqffr0ie23336uUwpB4wMPPDB69eo117H04cknn4xHHnkkL6Z73HHHVRxPvunalOVMDslj3pYqKl9yySV5APqYY46pOFx4dqlAb+U+K06oAxvFfn9qDBoni4Sdwsap1HYhbLzJJpsssDJsdSHj9KBSgn5JtGIFjdPcDv7+YTF6zJiYN7ybji0oIJzOKbQr/vr3uLXf7fnH6665Krqtumrh0AL7KVyb0v/33Nmv4rp5NwY8+VT87owzs3LeK2Rh5tsqDl98yWVx1z335s/pwvP/lP1VwgYVx5bEhqDxklDVJwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJZNgWIHJb9txUJ4dr/99otUmbhySxWHU+Xh3r17x84771z5UNx2223x+uuvx7wB5conzS9ofN5558XkyZNjjz32iK222qryZRXbSypoXHlev//972ssapuyqOPHj49PPvkk//fSSy/FxIkT80K4++yzT8U800YhaFxdteN0/JVXXok777wzmjZtGqeeemralbdPP/00Lrvssnx/qihdXXY1VVFO80yh7t/97neFS0PQuIKiYmO+QeN0Vgobf/TRR3nYOH1OlY3nFzb+tkPGaU6LGzROcx2WvbDDh4+I4SNGxogRI+L1wW/EzJkzo2vXLnHDdV+XEE9jpLYoQeP7H3gwzrvgwvy68879Y2y5xeb59sL0c/xvfhsvDRwYO2zfO0479eSK6+bdeGfoO3H0sb/Idz/y0P3RpHHjfDvdT9qfypA3aNAgdt5px9h/v32zL5+e83ZRlM+CxkVh1AkBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIZAJ1OWicQrQXXvh1dnDrrbeOZs2azfVMhw8fngeN27ZtG7/61a/mOnb55ZfnOcVtttkmdtttt7mOFT5UDvSeffbZhd2RqiX/4Q9/yD8fdthh0bNn9XnBJRU0fv/99+Of//xnPv6vf/3rWGGFFSrmljZSsHhglotMhW9TtjG1FACuX79+pNDvRhttFPvvv3++v/BjQUHjQYMGRb9+/aJJkyZx2mmnFS6LwYMHx6233prnJ+f1rzgp25gyZUpehDcFjRv/L38paFxZ6OvtBQaN02kpbPzBBx/kSfn0uaawcSlCxmk+ixo0HpGFivvf/0BWMvvRmJSl9wttueWWyzdTuexUgfnmG64rHMp/L0rQ+LnnX4iTTv46If+rX/4i9tvnm3LhC+pn/wMOis/GjZtr7AV9SHOtXN771dcGxbl/Oj8+zl7OQlute/esbHnf6LvH7tGwYcPC7lr/FjSuNaEOCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOB/AnU5aPzkk09m2cRHFupZ/uxnP4uOHTtWnHv++efHpEmTok+fPrH99ttX7K+8UVPQeFyWObz44ovzU3/yk5/EKqusUvmyiu0lFTROhV7/9a9/5eOccMIJ0aZNm4oxH3300RgwYED+uUuXLtGrV68877jyyivngeChQ4cWNWj84osvxr333pvnJCvnKismNM/GEUccUVGBWdB4Hpzs40IFjdNlKWycEucp6Z3avGHjUoWM01wWJWh85VX/ihtuvDldlpe87r3dtrHpJhtHjx6r5S/Wz475RQx9551aB42ffubZOOW00/NxTjzh19F3zz3y7fRjfkHjVBa8z657RPJsnv0lQ+vWrSuum9/G3664LJZffvm5Tpk+Y0b2styXharvz57dBxXHOnRoHyefdGJs0Gv9in212UjB7DTvYrV+t98Rf7/yqujSuXNce/XXf+FQ277TXz4UguS17cv1BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILDkBOpy0Pivf/1rjB49OjbccMPo2rVrtUjPPvtsjB07NrbddtvYddddK8658sor86Kwm222WVZU9JviphUnZBs1BY1Tju/MM8/Ms3wHHXRQrLfeepUvq9heUkHjV155Je6888483Hv66afn1YrToIXgbqo6fMghh0S3bt0q5pI2rr/++ih20LgQem7UqFGkasUpP7iwrTDfdu3axXHHHbewl5XVecV+fxY6aJwUUnnqkSNHxhtvvJHDF8LGKWT68ssvx6effpqXsd5ggw3yoO6iPJzaKC9s0PifV10d1994Uz7UfvvuEz/50RHRokWLuYb+yf/9rChB4xSW/csVf8v7vvzSi2P99b95aecXNE4XHPGjo+K9rDz61lttGef+8ZvS5nNNdBE/vP764Ljltn6RAtCppXLgf7v8suylXTX7VLuW1kUKoherLYmgcSqv3qBBg2JNUT8ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsIQEih2UXELTrNJt5arCxx9/fJXioYULnnjiiXj88cfz4+m8QuvXr18MGjQoL5qaqhJX12oKGqdzzzvvvJg8eXJeDTlVRa6uLamg8d133x0DBw6MDh06xDHHHFMxdCF4vddee8Xmm29esb+wsSSCxl988UWcc845+RBpLmlOC9sEjatKLVLQOF2eQqUp7Z0WawoSr7jiinm4uFQh4zSnhQkap3nvsde+MW3atNhl5z5x2im/TZdWacUKGv/5wovj3vvuz/u/567bY/lKZcAXFDQ+6w/nxGOP/ydWWGGFuPuO26rMsTY7Hv/PE3F21v+cLBy+915944Rf/7I23eXXppBx8i1WWxJB4xQyTmFjjQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTKW6CuBo3/+9//xmOPPRbt27ePY489tkbkTz75JP7yl7/kx3/6059G586d8+0XX3wx7r333ny7poDsU089FQ8//HCe3zz77LkLmd56660xePDgvADrCSecEMstt9xcc0hFZW+44Ya8gnD37t3jyCOPnOt4TR8KYeCaKi2ncPOFF14YqaryTjvtFDvssEPeVRrvjDPOyAuZpmrGa6211lxDpONXXXVVvP/+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CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBRLoFDVOFVm7dmzZ7Rr107guFi4+lmqBFLAeOzYsTF06NA8ZFzMasYJStB4qVouboYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNR9galTp8bAgQPz4GTdvxt3QODbEUgh40022SSaN29etAEFjYtGqSMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgmALDhg2LUaNGxaRJk2LOnDnF7FpfBJYKgfr160erVq2iU6dO0aNHj6Lfk6Bx0Ul1SIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKDuCwga1/1n6A4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFF1A0LjopDokQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUPcFBI3r/jN0BwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSKLiBoXHRSHRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCo+wKCxnX/GboDAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkUXEDQuOqkOCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNR9AUHjuv8M3QEBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBogsIGhedVIcECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE6r6AoHHdf4bugAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDRBQSNi06qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ1X0DQuO4/Q3dAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoOgCgsZFJ9UhAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbovIGhc95+hOyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQdAFB46KT6pAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA3Reok0HjcePGxZQpU2LGjBnx1Vdf1f2n4A4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKJAvXr1onHjxtGiRYto27btIl694NPrVNB41qxZMXr06Jg+ffqC78wZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJYRgSZNmkTHjh2jYcOGRbvjOhU0fv/99/OQcdOmTWOllVbK09f169cvGoaOCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQVgTlz5sSUKVPi008/jWnTpkUKG6+yyipFm36dCRqPGzcuPvvss0gh4+7du4eAcdHWgI4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqsEAKHA8fPjwPG6+44orRtm3botxNnQkaF6oZp5R1q1atinLzOiFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwNAhMmjQpUt62mFWN60zQ+J133omvvvoq1llnHdWMl4bV7B4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSKJpCqGg8ZMiTq1asXa6yxRlH6rTNB46FDh+Y3vN566xXlxnVCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYGkSGDx4cH47PXv2LMptCRoXhVEnBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEorIGisonFpV6DRCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEylJA0FjQuCwXpkkRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUVkDQWNC4tCvQ6AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmUpIGgsaFyWC9OkCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESisgaCxoXNoVaHQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGyFBA0FjQuy4VpUgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAqUVEDQWNC7tCjQ6AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWQoIGgsal+XCNCkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHSCggaCxqXdgUanQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCwFBI0FjctyYZoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAaQUEjQWNS7sCjU6AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCWAoLGgsZluTBNigABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoLQCgsaCxqVdgUYnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoSwFBY0HjslyYJkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBaAUFjQePSrkCjEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlKWAoLGgcVkuTJMiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAorYCgsaBxaVeg0QkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpSQNBY0LgsF6ZJESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlFZA0FjQuLQr0OgECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJlKSBoLGhclgvTpAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEorIGgsaFzaFWh0AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBshQQNBY0LsuFaVIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKlFRA0FjQu7Qo0OgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQFkKCBoLGpflwjQpAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB0goIGgsal3YFGp0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAsBQSNBY3LcmGaFAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQGkFBI0FjUu7Ao1OgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQlgKCxoLGZbkwTYoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKC0AoLGgsalXYFGJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKEsBQWNB47JcmCZFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQWgFBY0Hj0q5AoxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJSlgKCxoHFZLkyTIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKK2AoLGgcWlXoNEJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTKUkDQWNC4LBemSREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJRWQNBY0Li0K9DoBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZSkgaCxoXJYL06QIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKKyBoLGhc2hVodAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbIUEDQWNC7LhWlSBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECpRUQNBY0Lu0KNDoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBZCggaCxqX5cI0KQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdIKCBoLGpd2BRqdAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgLAUEjQWNy3JhmhQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBpBQSNBY1LuwKNToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUJYCgsaCxmW5ME2KAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgtAKCxoLGpV2BRidAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEChLAUFjQeOyXJgmRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUFoBQWNB49KuQKMTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUpYCgsaBxWS5MkyJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECitgKCxoHFpV6DRCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEylJA0FjQuCwXpkkRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUVkDQWNC4tCvQ6AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmUpIGgsaFyWC9OkCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESisgaCxoXNoVaHQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGyFBA0FjQuy4VpUgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAqUVEDQWNC7tCjQ6AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWQoIGgsal+XCNCkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHSCggaCxqXdgUanQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCwFBI0FjctyYZoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQJDRoc0AAEAASURBVIAAAQIECBAgQIBAaQUEjQWNS7sCjU6AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCWAoLGgsZluTBNigABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoLQCgsaCxqVdgUYnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoSwFBY0HjslyYJkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBaAUFjQePSrkCjEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlKWAoLGgcVkuTJMiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAorYCgsaBxaVeg0QkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpSQNBY0LgsF6ZJESBAgAAB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EEAgtgU4N43tT4D1I4AAAgggEFyAoDFB4+BHBWMQQAABBBBAAAEEEEAAAQQQQAABBBBA4IET4GLuA/eRs8MIIIAAAggggAACCCCAQJwT4Nw0zn0kbBACCCCAAAJC0JigMV8DBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBAuJjLQYAAAggggAACCCCAAAIIIBDbApybxvYnwPoRQAABBBAILkDQmKBx8KOCMQgggAACCCCAAAIIIIAAAggggAACCCDwwAlwMfeB+8jZYQQQQAABBBBAAAEEEEAgzglwbhrnPhI2CAEEEEAAASoalyZozNcAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCQmzdvSsCtW1YiaZIkkihRIlQQQAABBBBAAAEEEEAAAQQQuKcCnJveU25WhgACCCCAQLgEqGhM0DhcBwozIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgg8WAIEjQkaP1hHPHuLAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAuAYLGBI3DdaAwEwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIDAgyVA0Jig8YN1xLO3CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAALhEiBoTNA4XAcKMyGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIPFgCBI0JGj9YRzx7iwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQLgGCxgSNw3WgMBMCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAwIMlQNCYoPGDdcSztwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC4RIgaEzQOFwHCjMhgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCDxYAgSNCRo/WEc8e4sAAggggAACCCCAAAIIIIAAAggg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ypYprXfzSZAggTd+npAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACcQfAlQ0pqJxnK7N6zZslG+//S6oPMCCEyzW+nORVTQ2k7Vt27SS6lWrOD5q84cfS59+/eXxTJlk2ZL/JnrdJrBNJG8WfVt+//13R4vG27Zvl46du0m2rLDMNc/c4j3CytXSpcvlzNmzkjJlCm11KkeOHHqr3J8PHIiwja7bxLw3QnUSrqIx4rh+44ZMmz5D1q3fKH/99ZeO9tn8+aVVy+aS54nc+re//8w2xVCsnjVzmtybLJkOju2Ja9auJ5hMX7F0kaRNm9Ynml27vpHpM2fJDz/u01sL58qZU3LkyK6sif2mJ/IxMT918kTvPYEUjZcsXSbjJkwSN0Xjug0ayYEDB2XIoAHyxuuFvfEG4ouyRJk6KRqjDqAuwG3etEHuuy+1N16cxKeyjur27QOKP0iABEiABEiABEiABGI9gXC/B92+t4281qZVS6lRvWpQ+XeS0yBvvPZGEb1Yceb0KfJk3rwR4nJTNMbCzxat2kYI73She9fOUqZ0KScv7zWTJ+8FlxPIRuvfW+X1Nfd16dRRypcr471uTvzJQtjdZ8XK1Xp3lytXruhbMmbMIE0bN3Jd7Gni5ZEESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESCDuEaCiMRWN416ttaQYW8pu2LjJcsX9tGaNatKiWVP3AMonsorGZvvcBvXrSpNGDR2ftXLVGhk5eoy2NmVVanWawLZGEK6i8aQp02TBwkXyyCPppXnTJvJ64dfknnvu0VH37ttfPvzo4zuuaGzydf262i74g82yXFmHPn36jCRKlEjGjBohL77wvAniejSWuzChXeStt+TPP/7QdeGGsviLCfnSpUr63Aurz9179tbbIzdp3FBKvVNCzDbFsEINa9RxXdE4vpV1VLdvnwrBHyRAAiRAAiRAAiRAArGeQLjfg26Kxt169JLPtnwu9erUlmZNGweVfzc5rViJUnrB4vixox3lFzdFY+zsAmvIsGg8euRwv2nI8OijkipVKr9hIOPA+jFkUOya4+YgA2KhpnGRUTQ2cfzf//2ffLF1m17suHfvt/qyfbccE5ZHEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBuEuAisZUNI67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QAIkQAIkQAIkELcJUNGYisZxuwYz9XcdgW9275FWbdpJ8WJFpF+f3o75h1WukqXLKQvHHvnog416+2LHgLxIAiRAAiRAAiRAAiRAAiRAAnGAwKrVa2Ts+IlS5K03pU+vHnEgxbeTGFfTHWcAM6EkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkcAcIUNGYisZ3oJrxESQQdQRg0bj4O6UkUaJE0qNbF3mt0Ks+WxwfOXpMBg8ZJvv275eG9etJ40YNou7hjIkESIAESIAESIAESIAESIAE7jCB87/8IpWqVJcWzZpKjepV7/DTw39cXE13+DnmnSRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQPwlQ0ZiKxvGzZjNX8ZrAx598Kn36DZB//vlHEiZMKNmyZpV06dLK2bPn5Njx43JvsmRSs0Z1adSwfrzmwMyRAAmQAAmQAAmQAAmQAAncHQROnjolmR57LM5lNq6mO86BZoJJgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIBoJUNGYisbRWL0YNQlEH4GLFy/K+g2b5OChQ3Lx4iVJliypZHj0UcmSJbO8U6KE3Hdf6uh7OGMmARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggbuAABWNqWh8F1RzZpEESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESCBUAlQ0pqJxqHWG4UmABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABO4CAlQ0pqLxXVDNmUUSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFQCVDRmIrGodYZhicBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABErgLCFDRmIrGd0E1ZxZJgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARCJUBFYyoah1pnGJ4ESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESOAuIEBFYyoa3wXVnFkkARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIlQAVjaloHGqdYXgSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIG7gAAVjalofBdUc2aRBEggthC4ceOmLFqyRBImSCiNGzWILcliOqKAgClbRNWkUUNJkCBBFMTKKO4mAtFRh6IjzrupTJjX+EEgOtpBdMQZP2gzFyRAAiRAAjFB4OChQ/LZls/lkfTppUzpUjGRhDj1TL7H41RxhZTYz7/YKj8fOCDP5s8vLzz/XEj3RlXg6EhDdMQZVfllPCQQlwj8+++/smTpctm9Z49cvXZNHsuYUVo2bybp0qWNS9mItWn9Yus2+ennn+XpfPnk5ZdejLXpZMJIgARIgARIgARIgARIgARIgARIIFwCVDSmonG4dSfW3IcBslu3bun0pEiRwjVdHo9Hfv/9d+2fPHlyKsG5kqIHCUQfgfO//CLlKlSWhAkTypdbt0TfgxjzHSdgyhYPRtmijGPCoZ9Hf+/PQQka7wG62EUgOupQdMQZu6gxNSQQmEB0tIPoiDNwTmJniG3bt8uIkWPkySfzyqAB/WJnIuN4qijvxfECZPLjHQG0yU5dusmRo8ekR7cuMabMaAW76f0PpP/AwVqxZ9qUiVYvnjsQiA3v8VOnTkv9Ro116pYtXiQPPfSgTJg0WdauWy+vFiwofXv3dEg5LwUiMHDwUNmwcZPUr1dHmjZuFCh4tPhHRxqiI85oyXw0Rxob+99oznKMR3/23Dn9zkucOLGMGjFM0jz0UIynKTIJ6Najl16YgziQJ7jNm9aLvzkVHYj/BUVg8JBhsm7DRqlRvaq0adUyqHsYiARIgARIgARIgARIgARIgARIgATiEgEqGlPROC7VV8e0njhxUqrWqKX9dm7/wjEMLv72229SrMRtyzbr1qziSn1XUvQggegjYCY0qWgcfYyjK+br16/LhYuXJF3aNJIqVaoIjzFlC4+YVDR+p3RZuXz5SoT0WS/cf//98sHG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lns73y3XXH1VxjHDYvfevfu0jBknHAVKGwEY2R5/3HFyuNLbg9XR0PhgffLMNwmQAAmQAAmQAAmQAAmQAAmQAAmQQDYSoKExDY2zUW8pc5YS+Pvvv+Xtd97VrynBRPIv6mSZIkWKSIkSJ8mlF1/MU1yy9LlSbBIggdQQ+GrNGsHrncqUKS2nnnJKahJhrCRAAiRAAiRAAiSQJAIc7yUJJKMhARLwTWDt2nWybPly2bp1mz6h6thjj1VzTMXlzAoV5PoqleWwww7zHRc9kgAJpJ/AH3/8ITihHO7aa66WfPnypV8IpkgCJEACJEACJEACJEACJEACJEACJEACJOCLAA2NaWjsS1HoiQRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARI4OAiQENjGhofXBrP3JIACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACfgiQENjGhr7UhR6IgESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESOLgI0NCYhsYHl8YztyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAr4I0NCYhsa+FIWeSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEDi4CNDSmofHBpfHMLQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQgC8CNDSmobEvRaEnEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBg4sADY1paHxwaTxzSwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIk4IsADY1paOxLUeiJBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEjg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iOiBBEiABEiABEiABNJOAKciPT50uOBVzd3Uq2xr1qiedhmYIAmQAAmQAAmQAAmQAAmQAAmQQN4iMH/BQhk2YpRUqXyd9OrRPW9ljrkhARIgARIgARIgARIgARIgARIgARIggZAEaGhMQ+OQqnPwBKOh8cHzrJlTEiABEiABEiCB7CGw7IXlMnzkaOnXu6dcdNGF2SM4JSUBEiABEiABEiABEiABEiABEshIAlgLqNegsdzZrq00adwwI2WkUCRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQGwRoaExD49zQu6xKk4bGWfW4KCwJkAAJkAAJkMBBQuD333+XvXv3SZEihQ+SHDObJEACJEACJEACJEACJEACJEACqSawZetWKXXyyalOhvGTAAmQAAmQAAmQAAmQAAmQAAmQAAmQQFYRoKExDY2zSmFzQ9g//vhDVr31tk762muulnz58uWGGEyTBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABNJKgIbGNDROq8IxMRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggewgQENjGhpnh6ZSShIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggbQSoKExDY3TqnBMjARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIDsI0NCYhsbZoamUkgRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIK0EaGhMQ+O0KhwTIwESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESyA4CNDSmoXF2aCqlJAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSCsBGhrT0DitCsfESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEsoMADY1paJwdmkopSYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAE0kqAhsY0NE6rwjExEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCB7CBAQ2MaGmeHplLKpBF4c8VK+WrNGjm3YkW59JKLkxYvI4olsGHDRpk992nZvHmLFCx4hFSpfJ3UrFE91lOAX/v3/yIzZ8/WIdq0vl3y5csXIHRmeAWPvXv3SrVbbpYSJ52UdqHeeHOFrFm7Vi6+8EKpVOm8tKfPBHOPwLr16+W119+Q4sWKSY3q1XJPkAApZ3OZz0bedo9mztx5smfvHrnpxhukdKlSdl4y/pqp986vVEkuuvCCjJeXAmYOgVS02dTHzHm+lCSWwPoNG+TV116XwoULS51aNWNv8hcJZDmBvFD3/vLLLzJj1oGxcKsWzeWwww7LyqeSirY1K0FQaFsCqSireWVcZgss4MVU8A0oAr2TQNYSYPuVtY+OgpMACZAACZAACZAACZAACZAACZBA0gnQ0JiGxklXqnRFuHv3btn0zWbZv3+/lC17hhQtUiRdSWd1OgMfeVQWL3lemjRuKJ06dsjqvGSq8DDkbtu+o/z5559yyCGHaDGbNmksHdq3DS3yzu++k1p16uvwb614PRpv6AhDBPz777/lt99+yxGyYMGCvuSpU6+hfLtjh4wcPjRXDN76DxwkS55fKm3vaC0tWzTLkY8wFyKRiOzc+Z0yKN8shxx6qFQoX06OPvroMFHlapg//vhD/vrrLzn88MOTtnA/afIUWbjoWWnSqJE0bdIoV/O3dNkL0rf/QL3BYvzYUbkqi9/EM6HM+5U13l828o7PA37XbdBYtm/fLkMGD5IrLr/MzkvGXzP1Huo81H257aztyBFHHCGHqnozr7iVq1bJY0OGytlnnyUD+vXJ+mylos3ONH3M+oeURzOQij6JF6oXlr8ovfv2l/LlysnUyROj3lFnde32oGz8epN0f7BbrvRfo8J4fGGf1BlQXqufnXNqfycv1L3ff/+D1KhdV2fwtZeXq428Be0zm+FXU9G2ZniWKV4AAqkoq3llXBYAo6PXVPB1TIw3SMCFgHVMfNRRR7n49H8r1X1Wtl/+nwV9kgAJkAAJkAAJkAAJkAAJkAAJkEBeJ0BDYxoaZ52Ob//2Wxk1eqw+ndIq/PHHH6dPjL29ZQvJnz+/9Ra/WwjkBUPj//73v7Jl6zY5ulAhKVKksCV3mfEVBgkrVq6Siy+6UB5SRgmQ83//+58cc8wxjgLu27dPvv9hlxQpfKKtoWomGB3idOaGTW7NkQcYUx9/3HFy2mmn6tOKr73matsymNsT02ZhKVmGxh999LEMHTFS1q1bH8Pk5JNLCk6dvr5K5Zjrmfzj4Z695eVXXpXWt7eU1q1axogatrxVq1lHdu3aJaVLl5K5s2bExJnuH9m4wJoJZT7sc0oF781btmhx0nmycFBD47BlJSxnhPPiYuq9TDE0fuXV16R7j146y+3atJYWzZOz6SMRhskK26tPP1n+4kv6jQNLnl0oJ5xwfLKizpV4UtFmp0sfvcpFrgBlor4JuPVJfEcS0KOTofG2bdulXsPGOjacdHx/1y4BY06Pd/ZJ3TnntfrZPbc57ya77s2N/k4YQ2Ov8XVOUold8cMlFW1rYlIzdCYRSHZZRd5SMS6zY5bu8mYng9e1VPD1StNPveAVB+/nPQLWudV3Vr2ZI4No8/apQ1VKqblFvyf4p7rPmgntF8tTDlXhBRIgARIgARIgARIgARIgARIgARLIFQI0NKahca4oXthEd/34ozRvebv8+ONP+hS8iuecLaeUKSN43e269RsEJ2DhdONhjw8RGB7T5SSQFwyN8frHZi0OGHL263PAYClnTnPvSvVadeWHH37QJxpWvu5aX4LMmTtPhimj1W5d75PatWrkCJMJRofWyfAqla/TMuL0tL1798pWZYixc+dOfQ2GxjjN0ZzmbDKT2xPTZmEpGYbG77//gdx9732CU0OOPPJIbVSOk0jWrF0rmzZ9o6/feMP10rvnw9rozDDI1E83o56w5e3NFSsFhjs1qleTSy+5OFeznq4F1mRmMhPKfNj8pIJ3lRurSoECBeT5xYvCihU4XFBD47BlJbBglgBeXEy9lymGxg889LCsXPWWbh+wKWPm9KmW3GT3V5x4OnXadDlHnWjcoH697M6Mkj4VbXa69NGrXGT9w8njGXDrk6Qq606GxkjvqRkzZcPGr/VGLNRbmebYJ/V+InmtfvbOcayPZNe9udHfCWNo7DW+jqWU+C8/XFLRtiYuOWPIFALJLqvIVyrGZXa80l3e7GTwupYKvl5p+qkXvOLg/bxHwDq3amdofP8DDwnm0+bOniFBNlqnss+aCe0Xy1PeKwvMEQmQAAmQAAmQAAmQAAmQAAmQQHYSSLahMQw9I9nw9+mnn0bwR5ddBB7s3iNyyWVXRjrf2zWyb9/+GOGV8XHkvvsfiHR7sHtEGf/F3OOPfwkMGDhIMxw+ctS/F7Ps23vvf6DzoAwRMlLySy+/Ssu3des23/KNmzBRh1mw8FnbMDt27tT3of/qdGRbP6m++M03m6My2KX11ttvR66+7nrtZ/FzS3J4qV23gb6H55cbrt+AR3T6k6dMSyh58K9arYaOa+KkyRF1qkZMfF+tWRNp1OS2yOw5T8dcz+Qf6oTRA/l5cnIOMTO9vOUQ2ObC80uX6fy1adfB5m5mXsqEMh+WTLJ5//XXX/r53Vy9ZliRQoWrU7+RTledUO8rfLrLih8upt5DG5Pb7tdff41ceU3lSPsOnSJdunbTbNGu0GUmgVS02enQRz/lIjOJUypDwK1PYvwk+3PZC8t1ndS8ZetkR53S+NgnTSnePBN5suvedPd38CC+++57XUYxFkZ/wo/zGl/7iSOIHz9cUtG2BpGRfjObQLLLKnKb7HGZE8F0lzcnOdyup4KvW3q456de8IqD9/MeAa+5Vcxbob37ZnPmjJUzof1iecp7ZYE5IgESIAESIAESIAESIAESIAESRdct1QAAQABJREFUyE4Cxt42WbbB+RBRNthcr1WnTsKdk+QTjX/++edsyD5lJAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESyGMEjjvuuKTmKNknGtPQmIbGSVVQRkYCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJOCPAA2N/XHy9JWqE409E6YHEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEsgCAjzR+JxzsuAxUUQSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSC8BGhrT0Di9GsfUSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEsoIADY1paJwVikohSYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAE0kuAhsY0NE6vxjE1EiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBrCBAQ2MaGmeFolJIEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCB9BKgoTENjdOrcUyNBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggKwjQ0JiGxlmhqBSSBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggvQRoaExD4/RqHFMjARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARLICgI0NKahcVYoKoUkARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJILwEaGtPQOL0ax9RIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgASyggANjWlonBWKSiFJgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgATSS4CGxjQ0Tq/GMTUSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIGsIEBDYxoaZ4WiUkgSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIH0EqChMQ2N06txTC3tBGbPfVr27t0r1W65WUqcdFJa0t+zZ69MnTZd1q5bL3/97y+p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rp6fMfLaq68ILILTkUCkBNauXSe79uwRlKENG37US5hPnzbVdjnISOOMb/5g0fipZ8rqpeBferGrru+x/LpxO3bukr79BsjGTZukUYP60qRxQ3OK2wgJxJc2PsLsXjXeErLQGMvwVq1eS1o2bya1a9W4au6Znwv9cMVHAl4LFy4WLGdbsODtMmn8WF3n+YmPYUjAjgBFR3ZUeIwESIAESIAEEh8BtvmJ757yikiABEiABEiABEiABEjgchD4/fffZe++ffLLLyckg9J75MiRXVKkSHE5kmYaJEACJEACJJAoCVBoTKFxoizYkV7Ub7/9Ju06dNJCNoS54Ya0cnuBAnLu3O+yc9cuOXPmjP79Svdukid37kij9ezvzbemy7jxE3U4WKxs37a1VKxQ3nM8DEAC8YkABm+nT5+RTJkyxqdsMS8JgEC75zvKV19/o3OaOXNm6dWjuxQqdFcCyLm3LK746GPp0fM1wcclSZMmlVtvuUU/LwcPHpJdu3dLStUe1KldS31Z3cBbxPStCcSXNp63I5hAQhYa40rwUtL6YVrw1fEXCPz999/yxFPPyDnVD4ArWrSIrsczZmR/QAPhv5gRoOgoZigZEQmQAAmQAAnEawJs8+P17WHmSIAESIAESIAESIAESIAESIAESIAESIAErhICFBpTaHyVFHXny8SSzqvXfKUtCcPy2q9qqfpMmTJJtmxZpUTx4pfFEisEZevWrZeMGdPLnXfcIenSpXPOMM+QAAmQQCIn8O1338u+ffslV64cUvD22wUfYCRWd/ToUXln6buydds2OXr0mLrWFJIta1bJkye3PFO6tP4AJrFe++W4rvjQxl+O60xIafy0ebNg2bLcuXPJLXnyJKSsM68REvjrr7/ks1WfC8T++fLllfz58umPKSIMTm8kEDGB1WvW6A9EixYpLDfeeGPE4eiRBEiABEiABEggYRFgm5+w7hdzSwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkDgJUGhMoXHiLNm8KhIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggagIUGhMoXFUBYiBSYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEEicBCo0pNE6cJZtXRQIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEBUBCo0pNI6qADEwCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBA4iRAoTGFxomzZPOqSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEoiJAoTGFxlEVIAYmARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJInAQoNKbQOHGWbF4VCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAVAQoNKbQOKoCxMAkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKJkwCFxhQaJ86SzasiARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARKIigCFxhQaR1WAGDj+Efhs1efy0+bNUrhQISlxX/GYZPDTz1bJ5i1b5O6iReXee4rFJE5GYk8gvrKeOXuOnD59WsqWeUayZc1qn3keJQESIAESIAESIAESIAESSDQEtm7bJp+s/FSyZM4s5cuVTTTXxQshARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARLwRoBCYwqNvZUY+o73BPr2GyBLli6T2rVqSNvWrWKS3959+8vSZe9Kg/p1pVmTxjGJ02skf//9t/zxxx9BwZImTSopU6YMOub3x/nz56Vz1xdlx85d8tKLXT0Lqj//4gsZNHiY3HnnHdLntZ5+syGxZg1mYHfttdfKNddc4ztflavWkIOHDsmoEcM8s/GdKAOSAAmQAAmQAAmQAAmQQDwkgLHDuXPngnJ23XXXSbJkyYKOOf1Avxpjj+TJk8uQQQMkQ/r0Tl4v+XG3cdC7770vvXr31R+xThg3+pLnJdIEYjX2ijQ9+iMBEiABEiABEiABEiABEiABEiABEiAB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Co1NPvDR5i158sgtt+SRO5Tot2yZZ/QHq+a8des0PoHV3dlz58kc9QdhsXEQ6larWlmaqD54yuuuM4f1Fh9Dvv7G1MA4K1myZLJsyUJJly5d1OMgM8bp3PF5yZw5swweOiww7jUfYGLca/3I05q55R98qMeBsPQMl+6GG6Sc+siyRbMmakWhcTJz1mxbobHfsZdJGx/lYlWiFR99LH///bc+jPxirPhCl876g13j12zNtWKFH6z0E+ooNA4lwt8kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJXEwEKjSk0TnDlHcLD7Tt2qmVok2ursuEEql4vEBaoILyFtaVbb7lVWzwKFwfEvQhz6tRpPamMieDL4ZDejp07tJVcWL2KxkFovW//fjl8+Ge9FG/u3Lmiic427B9//KHu3Q45/895yaMm4WE9OqG5o0ePCqxKp06TWvLeeqteDjnSa4Dl6wP7D8jNmW+WbFmzOgoPIo0vVv4izReED+uUhe8cOXNoi9126Xu9x5GkDaEBrJdbrSjbpc1jJEACJEACJEACJEACJJBYCODjPIx706ZNIzly5IgjMLZeJ4S127fvUKuvJNFj2Es5ztqvxjPH1Fj5ttvyu+bJ5A8i4527dktyJYDOly9vnI9CjT+7bTRjL8SH8cuOnTu12BgfieKjYDoSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAHvBCg0ptDYe6lhCBIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggURPgEJjCo0TfSHnBZIACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACXgnQKExhcbeSw1DkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJJHoCFBpTaJzoCzkvkARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIwDsBCo0pNPZeahiCBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEgg0ROg0JhC40RfyHmBJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEAC3glQaEyhsfdSwxAkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKJngCFxhQaJ/pCzgskARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARLwToBCYwqNvZcahiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEkj0BCg0ptA40RdyXiAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIB3AhQaU2jsvdQwBAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQKInQKExhcaJvpDzAkmABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABLwToNCYQmPvpYYhSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEEj0BCo0pNE70hZwXSAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIk4J0AhcYUGnsvNQxBAiRAAiRAAiRAAiRAAiRAAiRAAvGYwNZt2+STlZ9KlsyZpXy5svE4p8waCZBAJATOnv1V3p45U3tt2riRJEmSJJJg9EMCV5RAfG6LZs6eI6dPn5ayZZ6RbFmzXlFOsUz8089WyeYtW+TuokXl3nuKxTLqeBFXfKsLT506LVPfnCZbtm6Tv//5W24vcJu0b9uGdXS8KC3MRLQEtm/fIa++1lv69OopuXLljDY6hicBEiABEiABEiABEiABEiABEiCBBE+AQmMKjRN8IY6PF3D+/Hk5d+5cUNauu+46SZYsWdCxxPQD19y564uyY+cueenFrpftZf6VSjcx3TteCwmQAAmQAAmQAAmQAAnERwLnfv9dzv/zT8RZw3gL4y64d997X3r17iuFCxWSCeNGRxwHPZLA1UYgoYypD//8s1SsXE3fni9XrZSkSZNebbeK13sFCBw8dEi/60qePLkMGTRAMqRP7ykX8bktqly1huD6Ro0Ydtne4XmC59Nz7779Zemyd6VB/brSrEljn7HE32DxqS5EP61Wnbpy+PBhDQzPyW3588vrk8bHX4AJPGfR1kkJ/PIve/Zf7dVb8PHC0sULJFWqVJc9fSZIAiRAAiRAAiRAAiRAAiRAAiRAAvGNAIXGFBrHtzKZKPKzZ89eqVH72aBrwcvW7NmzSe5cuaSAsu5Qo3o1SXlxEjzIYwL9sX//Aalao5bOfeWKFaRL544xuZK//vpL9u7bL2lSp5ZMmTLGifNSpRsnIR4gARIgARIgARIgARIgARK4rASaNG8pGzb8GHGaD9xfQoYOHqj9x2dxV8QXRI8kcBkIJJQxdXwS112G28Ik4gmBJe8slb79/21Xevd6VUo9/lhQzo4cOSpnzp6VnDmyyzXXXBN0Dj/ic1tEoXGc2xUvDpw5c0aOHD0mmTJmkDRp0sTJU3yqC2EVe8TI0ZL55pulT++ekj9fPjl16pRkyJAhTr7NgXDveY2/S7E9dvy4LFy4WE6cPCl1atdMkJa8w9VJl4KbnzjDlWM/cV7uMD8fOSKoJyuULyddOnWIKPkvvlwt7y//QGDNHquq3HnHHVK1SiVJly5dROHpiQRIgARIgARIgARIgARIgARIgATiOwEKjSk0ju9lNEHmzyo0vr9ECX0Nv5z4RXD8d2XtAS5rlizyQtfOUvzee/TvxPDvrelvy/YdO6VxwwaSQ02yxMLhxVzd+o3kiVKPy2s9e9hGeSnStU2IB0mABEiABEiABEiABEiABC4bgYGDh8oONb6wur379smJEye0iCV0qfe77rxDWrdqob3HZ3GX9Xq4TwLxgUBCGFPHJ3FdfLhnzMPlIXD27K8ydvwEgfGAls2bBqzmm9S7vNBNPlv1ucyeOV1y5cxpDge28bktotA4cJvi1c6s2XNl+MhR0rVzJ6lUsXycvMWnurBHz9dk+QcfSpXKlaRzx+fj5NXuQCTvee3CRXMMgujVq9fI2nU/CITOcBPHjZFChe6KJtorEjZcnXRFMmWTaLhybBMk3h2CiB5lZ8b0N+WWPHnC5m/w0GEyb/5CSZIkiTY2c0x9MACr31myZJZB/ftJ3ry3ho2DHkiABEiABEiABEiABEiABEiABEggvhOg0JhC4/heRhNk/qxC4zVffBa4hgsXLuiJ8gGDhwQsc/Xv21tKPvJwwA93ggl88+130qbd865C4+AQ/EUCJEACJEACJEACJEACJJBYCbzWp58se/c9qVmjmrRv28bxMuOzuMsx0zxBAiTgSCA+iescM8kTVx2BZi1ayw/r11NoHI/ufO++/WXpsnelQf260qxJ43iUs8iyMmHSZJkydVqCEBq3atNOvvt+rXR7oYuUL1c2ogu8Eu95ny5TXk4qK8ZWl1CFxtZriM/74cpxfM478gZL9eUrVpGCtxeQMaNGhM3uio8+lpdfeVUbXhk8sL/+8OT8+fMye+48GTV6rKRV1skXLpibqFa3DAuFHkiABEiABEiABEiABEiABEiABBIlAQqNYyw0hmUlOhIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARK43ARuvPHGmCZJoTGFxjEtUIyMBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEjgyhCg0DhG3Lds2aJjuivGQuMYZY/RkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkMAVJUCLxhQaX9ECyMRJgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgATiJwEKjSk0jp8lk7kiARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARK4ogQoNKbQ+IoWQCZOAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQPwlQaEyhcfwsmcwVCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZDAFSVAoTGFxle0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4s8Ik0AqEEAfHK+Er1ixvJx5xhmCzY00JEACJEACeZdAXpiHyrupy5iTAAmQAAmQAAmQAAmQAAmQAAmQAAkkmwCFxhQaJztP0T0SIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIE0IEChMYXGaZCNGQUSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFkE6DQmELjZOcpukcCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJJAGBCg0ptA4DbIxo0ACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJJBsAhQaU2ic7DxF90iABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABNKAAIXGFBqnQTZmFEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABJJNgEJjCo2TnafoHgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQBoQoNCYQuM0yMaMAgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQLIJUGhMoXGy8xTdIwESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSAMCFBpTaJwG2ZhRIIH0I/D+Bx/KW2+/I1u3bpXjjy8udzZpLOefd262R/TAgYMydfp062/rli0kX7582R4GepgaBJhXUiOdGEoSIAESIAESIIHcTeDvv/+W6TNeli++/FL27N0r5cuVkw7t2kqpUiVzd8CjDN3BgwdlyrTD44t7m90jBQsWjPJJf2tr1q6V997/QE4sXVpq3VbT3yLvZAuB6TNfln379knNGrdK2TJlssVPekICJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJJC1BCg0ptA4a3MYXScBEoiZwKxXX5Onnn7WPlegQAH53//+J88+9aRceuklMbuV6APbfv1V6tRrYJ35eMn7kj9//kSd5PMxEoDYpEu3HrJ+w0bp1aObXHThBTG6kD3WmVeyhzN9IQESIAESIAESSG8CPXo9akWziCXGAjCL3nhdjjrqKPs91f/bvn2H1Kpb30bjvbcXSZEiRRKO0htvLpR+AwbJuVWryphRIxJ2L1YHft2+XR7u0l3y5c8nTw8dIiWKF4/ViZSzv/Sjj+TJoc/I2WefJQP79w0Lf73bG8kvZsPs8GHP5NqxS1iA+YMESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESCCQAIXGFBoHZhJayN0Edv72m8yePVd279ljT73NqRODDh06JB8uWSpffrVCvvnmWznq6KPk1FNOlrua3CFly5bN3RBzUeggKq5Zq649vQynGLe8t7ng1K9jjz02Kad9xRpVikdjJZZ8+5s3b5HbG91hHa5Xp7Z07dI5+Z4kwUXmlSRApBMkQAIkQAIkQAJ5msCaNWulafPDbxHp37e3XHftNbJjxw4pbU7qTReTE0Jj+Ln/wAGpUL5cloypVOiMNBrQr49Uu+H6dEku33j07ttfFi1+y77xZv7c2VK8+PEhuxQah1DwCwmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmkDQEKjSk0TpvMnNcigteRLlu2XL5a8bX8+eefNvpjR42UqlXPyXYUOK0IJzht2LjR+l2iRAnZtWuX4CTWQoUKSe9He8n1112b7eFKRQ+dotI358+VYsWK5Wg0KB7NUfwhzydPmSrr1m+wwvPyRiCRGw3zSm5MFYaJBEiABEiABEgglQjMe32+DBo8RE6qVEmmT52USkGPOqw5ITTu2r2n3RQ7c/oUqVihQtRhjdYiNt2OHDXaiG7zS4d2baRw4cLRPpqy9vC2lQkTJ8k55kTjhg1uD4sHhcZhOPiDBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABNKCAIXGFBqnRUbOi5G4pUYt2WNOMXaanBAa79q1W5rc1VT27tsnzZs1lZo1bpUyJ54o//nPf2TUmLEyY+YsKVq0qMycNkWOPz5nRbNOVrn1O4Tj7TrcLyVLlpTX57ya48GkeDTHkyBlAsC8kjJJxYCSAAmQAAmQAAnkUgIvvDRBxo1/UW6+6Ubp2/vRXBrKxIKVE0LjNu3uk69XrpSsEhonRiT9nqbQOP3SlDEiARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgAQqNkyw03r17N3MVCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACWQ7gWLFknsgKIXGFBpneyamhyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAsknQKFxkpiuXr3aunROkoXGSQoenSEBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBHCXAE40pNM7RDEjPSYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEcicBCo0pNM6dOZOhIgESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESyFECFBpTaJyjGZCekwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJ5E4CFBpTaJw7cyZDRQIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkKMEKDSm0DhHMyA9JwESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESyJ0EKDSm0Dh35kyGigRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIEcJUGhMoXGOZkB6TgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkDsJUGhMoXHuzJkMFQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQ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IAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSBsCFBpTaJw2mZkRIQESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSB4BCo0pNE5ebqJLJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACaUOAQmMKjdMmMzMiJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACySNAoTGFxsnLTXSJBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggbQhQaEyhcdpkZkaEBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggeQQoNKbQOHm5KU1dmj7zZdm3b5/UrHGrlC1TJk1jGR6tvBjncAL8RQIkQAIkQAIkQAIkQAIkkBsJ5PRY5cCBgzJ1+nSLpnXLFpIvX77ciIlhioNATuetOILMR0iABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggWwhQaEyhcbZktOz0ZPyLL8nsOXOlSePGcmeTxgl7Xe/2RvLL1q0yfNgzctGFFyTsXpAD8KtLtx5SoEABeerJJ6RE8eJB9icbfwAAQABJREFUjyT9fnbHOekRoIMkQAIkQAIkQAIkQAIkQAJpSSCnxyrbfv1V6tRrYNl+vOR9yZ8/f1pyTsVI/f3333Lo0KGYgl6kSJFQGuZ03oop4LRMAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAtlIgEJjCo2zMbtlj1c1a9eTnTt3SsWKFWTmtCkJe5rIYuP27Ttk/4EDUqF8OSlYsGBUYZn3+nwZNHiItTugXx+pdsP1UT0XraU///xTNv28WYoefbSUKlXS87FE4uzpYC6/+NOmTTaEFStU8Azp/v37ZfuOnVKqZAkpWrSopx1eJAESIAESIAESIAESIAESSIxAKoxVKDROLI2z8ulPP/tcOnZ6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+zwhARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJI+QSwq/GevXvl2LGfJbvakC5fvrySMWPGlB9whpAESIAESIAEUigBCo0pNE6hWTPxwdq5a5e079hZdyThe+7cueTaa66RI0eOyvYdO+Sff/6RB0rfL/369JLMmTMnPgD0kQRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARSEQEKjSk0TkXZNf6gnj59Wt56+x35+ps1SmB8RP7++2+58srckjdPXilfrqwUKJA//ofQBxIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARI4BwhQaEyh8TmQjRkFEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBRBOg0JhC40TnKfpHAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRwDhCg0JhC43MgGzMKJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACiSZAoTGFxonOU/SPBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEjgHCBAoTGFxudANmYUSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEEk2AQmMKjROdp+gfCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZDAOUCAQmMKjc+BbMwokAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJJJoAhcYUGic6T9E/EiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBc4AAhcYUGp8D2ZhRIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSDQBCo0pNE50nko1/v2wdausfv8DyZ0rl1SpXCnVhDslBnTeglfkl19+kaqKYy7FMznMqVO/ypx587TXrVo0l3Tp0iXHY+gnCbgS8MqDZ6M+MeWsUsVHJM+VV7qG037DK9x2u6nl97kYp9TC3i2cH3z4kWzeskVuKVFCbr/tVjdrvJ5AAiwH8cNkvo2fYXL58Ouvv8rsuWf6fc2aPCYZMmRIrkfR3zRGIGh/ygvTiRO/yPQZM2XLD1vl73/+lmJFi0iXTh1TzHjFtBfnpTtPWrZo5hWVuO6xTo0LX5pynBzlMDUD3Lptm7y3+n3JkSOH1KhWNVVFZdu27YL03L17j2TKdKGULfOgVK1SOVXFgYFN/QQ+/Ohj+X7zZrmpeHG56847EhIhtmnxYzT9D/jEedz4edIHEiABEiABEiABEiABEiABEiABEiABEkgJBCg0ptA4JeTDwGE4/fvv8u8//8Ts/vzzz5cLL7xQ23/9jTfl6Wef1xPRE8ePidkPWkxKoEatunLg4EEBR0zsJ4f58aefpFqN2trrTz96X84777zkeEyK9HPy1GmydNlyaVCvnjRsUC9FhjEtBMorD56N+sSUs9Ejh/sScnqFO7Wm27kYp/86LVCH9+jVR9KnTy9DBw+S7Jdf7itIzz7/ory28nVp2qSxtG7ZwpdbWg5GgOUgGDerK+ZbK42UdX7o0GGpUr2mDtTqd1Yp8VKmlBVAhibVEgjan3KLMMaj9Rs2lh9//FFbQTtapHBhmTJpgpuTs37dtBcYP2EclVwmrdap8fahkis9UrK/iS6HKTmusYTtzVVvyVNPPytFixSR6VMnxeIkRdiBsLN12w7y559/hudnGjaoL+3btk4R4UuJgfj333/1mGv7jp3Sr08vX+P6lBiflBKm518YJCteWykN6teVTh3aJyRYabVNs8P766+/dBm3X3f7jU0hMmfOrG+b/gd+pLV5XDc+vO6PAOfD/fGibRIgARIgARIgARIgARIgARIgARI4GwQoNKbQ+Gzks2R7Rss27WTDhu9i9v+eu++SYUNe0vbPhjAw5oClcotmoTC1CY0hYjl56pTkz5c3Re+UV6lqDTly5IgUKJBfFsydncpzS+oNvtciydmoT0w5o9BYxCstUm8O+29DvuLV1+T5F8+0j88+/ZTejcwaot179uifBfLnt14On6e1hdiz0X6cPHlSDh0+IjlzZJesWbOGWZuTs10OsMi8Z+8+yZoli+TMmcMEI1Uf01q+TU2JRaFxakqt1BXWoP0pt1hiJ8+Ro8ZIriuukOeeHSiFCxWSEydOSPbs2bWTaHW5m7+JvG7ai9QmNE4t7U60PlQi0zI1+BVLuiW6HKYGLl5hTK1CY7yk+NHHn8gdt98mfZVoFn3Ef9RGABdffLFXdNP0vX379kutuvU1A+xe3bNHt4TwiKXcJeRBKdSTIELj1DC+TQnpOmHiJJk+c1bMKY/NPd5/9y1t3/Q/8INC45gRnjWLZ2NOI1pkopVDzodHI8j7JEACJEACJEACJEACJEACJEACJHD2CVBoTKHx2c91CXziS0OGyfbtOyJ83LN3r/z88896cTfPlVdG3LvxhuulQ/u2+trZEAZGPPwc/mEWClOb0Lhn776CTywumDdb3MRzKSHZEEYsPlapXClhn4FMCfFKbWHwWiQ5G/WJKWcUGlNonBxlB581HTdhot7RuF2bVuHd/82zyj5UQTJmzCgrVywzlyKOaU2weTbaj/kLFsqIUaOlV4/uUr1alQje+OFVJyWxnIALP2zdKo2bNJdyZcvIMwMHJMDH/96LtJZv/3visYeAQuPYWdGmPwJB+1NuTxkw8BlZ9dbbUrNGdenRrWsSa9Hq8iQOkuGCaS9Sm9A4tbQ70fpQyZCkKdrLWNIt0eUwRQOJIXCpVWhcuVpNOXz4sDz3zEAp8+ADMcSUVkBg1uw5sk3NY7Zo1lTyqZfeE2FiKXeJeE5K9SOI0Dg1jG9TQrouW75C3njzjHDYpP+xn4/JXvUCaiYlKi6svuJgNRdkvEBGjximL5n+B35QaGyllDLOz8acRrSYRiuHnA+PRpD3SYAESIAESIAESIAESIAESIAESODsE6DQmELjs5/rkvmJzzz3gqx8/Q2pV7e2dOnU0fVpZ0MY6Prwc+yGWShMbUJjfObz2/XrU7zQ+BzLLqk2Ol6LJGejPjHljELjsy+wTLWZNkEBx85kJe97QC6/PBuFxv9jejbaj4mTJsu06TNTjND4q6+/kY6du1JonKByRW+8CVBo7M2Hd4MTCNqfcnti+46d5Zs1a6Vv7576pUC7vWh1ud1+cvw2fdjUJjQ+F9ud5EjflOZnLOmW6HKY0hj4DU9qFRrffe/9EgqFZNGCeZI3bx6/0ab9BBKIpdwl8HEpziu/QuPUMr5Nqem68o035Zlnn9dfcZg5fYprfjD9D1ig0NgV039242zMaXhFLpZy6OWe90iABEiABEiABEiABEiABEiABEiABP4bAhQaU2j83+S8ZHyqX6HxzTcVlwnjxiRjiM59r81CYWoTGtdr2Eh27dpNofG5n0UTEkOvRZKzKTQeM2qE3HbrLTHHySvcMXuSwiyei3FKYYgjgoOvBFSoVDUmoXGzpo9JqxbNI9yfiz/ORvuBrzYsWbosxQiN331vtfTrP4BC43MxQ6fAOB05elQqVamuQ7b6nVWSKVOmFBhKBik1EjDjFr8vbrnFtW2HTrJ27Trp36+PVHykQhJr0eryJA6S4YLpN6U2ofG52O4kQ/KmOC9jSTdTDv2Oa1JcZBMUoLfefkeefOppKVqkiEyfOilBvia/N3eVvE8/ZOmiVyR37lzJ/0A+wZVALOXO1fE5cOPFl4YIdt5tUL+udOrQPmqMUsv4NqWmK4XGUbNYqrBwNuY0vEDEUg693PMeCZAACZAACZAACZAACZAACZAACZDAf0OAQmMKjf+bnJeMT/UrNL79tlsFC83Y2fbtd94V7BiRLl06ueH666Vj+3ZyySUXu4b2088+V5+QWyWbNn2vPjOfUYqohaF6dWqrT8cVcnXjdOPkqVP684nr12+Q/QcOytVXFRCEq0H9enL++edrJ9gpZvTYcfLzz8fl4YfKy5133B7h1f79+2Xy1OmSIUMG6f54F7ngggvC9//9919ZtuJV+fzzL+SHH7bKxSpOWMSqpT7x6xbWP//8Uxa8slA++uRTgd85c+TUdmvVrC6FChYM+40Ts1DoJDTGp4Q//+JLuTJ3bmnZolmEO4RrsRJRfaY4bt22XXJdkVOuu66YNG3ymFx6ySURds0COS667YQRC0e4x6cqDxw8qD//9/vvv0upe0tKlixZcEvuuvMOeah8OX1u/vviy68EQtItP/wgf//9t2aHT4M+UPp+YyXiuOLV12Ttum+lTeuWilsOwcLhp599Jt9+u0Euu+wyKVnybmmm4ojF/liM8e++UvcmeSaEONNnzJT1G76To+q8QP4Ccv3110mDenX0s2LxH3FauHiJ4JN0u3fvlsyZM0sR9flDax7KkSO7tGvTOsI7iLTnqzyyceMm+fXXX3X+KFe2jONnU00cgjLxk1dOnPhFRowaLdcVKyq1a9WULVt+kKVq0Qn5/06Vvn169dDxwO4Z77y7WtZ9u06Vi23y008/Sf78+aVUqZK6HKMesBqvPOgkNMZzwefii7NK186drF6Fz5Fnhw0fqctt757dPfOEKWd4MQLl6ZWFi2TNunVyXNUJxVRcwb70/WcWe8MPUCde4Ube/ExxuaXEzVK5UkWrM31u0s0p78GCn3RJ4rnlAji8/vqbsun772Xr1m3y2+nTUvDaa6RG9Wpyz913WWyeOTVxMoKZ7zZulFdfe13WqXKXPkN6lfbFpG7tWlKw4LVJ3JoL+NTnvAWvyObNmwXlqOC11yoB961Sp3ZNSZ8+vbEmp1VYIBKC6dypQ5K6yVhEnkPea9GsieTJ8/87eiWKkXmOOb7z7nvyyaefyY033iA1qlU1l/URz3z+xZcEebxxo4aqTbkq4v7mLVtU/b5I1+VYjIUx5QbnEEuBLdJl2vQZqmwcEixyok6wfhYZ7V2RImc+lfrs8y/Kaytfl9YtW6g6vLH6jLyp99YHqvf8tEEjR4+V338/rQW5yBuLFy/VdfDRY0elWNGiUrbMg/LgA6URNUcDXrG2kX7aj/dWv68XvPfs2SsZVR+hcKFCmp9TObUGDO7WrF2r2sYvVJ/ggFx/3XWqbsqnreTKdYVmjB/2coB27dXXVsrXqh9z+PARnf9bt2qRpM02z4q13KHfsPKNN1RZ+UH3lSAkufmmm4w3grorY8aM4d9uJ3/99ZfMV2Vu3bfrZZtq89Eeop6up9qr/PnOxM/q1m/bC7co16veflv3dX5QdQk+51uoUEFp0byp4zNMvkWeRd51Mn77en7T/ciRIzJn3gJBuUT4weKmm26UhvXrq77JRRFBSq76xPoQvwxNOxG0fUe+mDf/Ffnqm2/0y19XqT7wvffcI49UeEjKPXymXaLQ2JpCae8cZeSXkydjivill1wq2bJd5mnX9KfchMaxljOIi99dvVpQ5o8d+1luvOF6taNnXv1s1Itoo2Opy01gUfZi6ZcY+ziirzlTjWtQp2JMg/oOfZmaNarpvqWxa28vzHVzxK7LP/74k9x9151SvlxZc1kf/fT3Y6lTY/HPb7vjpx03kUPf4Q/FrGePbrqvB4Hal199I9u2b5d8Kh1rVK+q+w/GvtfRqQ9lte+3XbC6NefIS8hTYLNz5y7JmTOH3HDDDdJGtfMYu8Vq/I5/YvUX9vykmymHmD9A/wj9sK+++lrPCcTCP5Z8FEvY/XKNN98cPXpMZs2Zo8fuqDeKqn50pYqP6F2Be/Tq40tonOi09FMHob+5Uc2BodzAoG+LF4Ks/VQv/oG4//GH9Oz+uKBNwBzSe++9r585aeK4iPrOb78N4cR8HuKCviOEb4VUnrznnrukWpXKScbn6D9jPOA1d+cVd9xDPjp+/HiScZqpS4oVLaLGpLX0OADjq69U3YR4Y2xr79v7KXd4dpD6Eu6cjN88GCR+9ucirZYsWy4bNnwn6c5LJ9ercf+jjzaQFSte021oNKHx2RzfxpNX/KYr5uNmz52nuezavUfy5rlSzws2athALr30UjvGuH/7FRqbeRu/41UENFH1faz9u+WqPcJ4FXPmdevUimCFPD9k2HDV5/pDmjRuJAUK5I+4b//hZ7423jkNP3kg1jkNP3MyiHus8wt+yqEZa3rNScY6l2PSJ9623PjDIwmQAAmQAAmQAAmQAAmQAAmQAAmkVQIUGlNofM7lfb9C47vvuktNwBaTqdNm6El3CHX/UqIHmHz58sq82TMjRGe4jsnF4SNHySIlZsKEKYTBfyo3+/bt13b79emlxcCwG81s3LRJ7RD4lFrc/VGLmvNceaXsVqIkTBIWL36jDB08SLL+TwQL4daAgU/LFTlzyvx5s7WAxviPXQYhBGvRrKkW1JjrmNh8csDTeqEb17Jffrme/PtDLdSkT59eL1Rg8tlqIDzFJ9QQNogtsWh9Ui3wHzz4o47vMwMHRIjNrAuFNxUvHvYKk7MdOnXRAiQsAF1z9dXhe1hke2LAU3oHMAiUIITD4gnCm0OJc4cOflEvOhoHZoEcv52Exn44VqtZR/M2fluP9erWli6dOupL4ADxINIZBoIfCL+xQALzUPmy0rtXz4h0wHWzyD7ohee0EP39Dz7UrDGxjT8Y7HgGMV8sxvhnF0IhzzRu2kJ++eUXvbgGcfDefXt1+BDWmdOnakGq1zMgSmjVtr1eGEZ+wE65m77frP20ukP6zJszM3wJi4tDlUAW7nPlyiUXZ80qO3ft0mWnphKw9+jWNWwXJyYOQZgEzSuIC9KyZZt2WkCAvAzhKsKGxU0IMVFmYSBsD6l//5+25WTggP76nvnPKw86CY3BplLV6nLq1K8qLaZE5Gfjp3F3/32lBGy8jClnWHR8XYn+4C8WjZD+Jl/Z8wj88wr3qDFjZa4SuFWpXEl/8tv+fJNuTv76TRe73+Y3RO4vvzxZ10u4hvrt+IkTgjoKadZLCUCqVa1irOujiRPqawiK585foBfoL7vsUi32gSUIDJ9WdRVeJLAbLFYMGzFK51/4AXeHDh3W1rCg9OzTT0V8/rdFq7YCMTOEQ/awwNHuPXukbv1HtXBy5Yoz7QKuJ4oR/LIbvBjQs3dfLUp8Zf6ciNsow81atNLXIEBp8ljjiPsTJk6S6TNn6Z2HsQMxjGGKc1PHos6vXqsOLjmal158XrDgA2PNKzt27JQPPvwocL0XtA1CeX958hT57bffkpQNCK7tL0sg3H7byFjbDyxezVP5EgbCc7yMBGEQyipegOjWtbO+5/QfPkOLxVsnAzGO+TytSTPk9YFPPSlPP/ucrhes/Ri0rzOmThaIN63GT7lb+fobgr6Vm3ln1RtJBLF2u1gsf1L1X7BQDHP55dlUOp3WdTPCOH7smZdDcC9I2wuuLwwaLAgrztE3u0K9vASRPH5fdNFFMnb0CL1gjGcYY823dqFxkL6e33THC254kQF9LNR3V1xxhRKJH9b9TLSt82bPCO/km5z1CXjEyzBI+456t3e/J7TAB2G4+OKLdd2P+h8vwiHfwFBorDGk2f+ee2GQfokiFgAY07Rv18bTqulPOQmN/ZSzmbPmyLgJEx2f9e5bb+gXyWKpy+GB334J3KAf0KtPP93/wYuxaGu2b9+hyxDKz/Qpk8ICOdNeGKEP3Btj4lGoYEF5ecLYcJ2D+0H7+079Rj/++Wl3/LbjJt7IBwfVWGquqmf79ntSj2Os7Sfsue1SbfwwR8MXv00fytzz2y4Yd+b406FDMvDp58Jj+QtVm3+JqitxHQYip2mTX45JbBxk/GPCEcvRT7qZcjigfz+ZMWu27h/Eyt9vvnQKe1Cu8eQbvIj8xJMD9PgAYUJfCC+Ro/01bV6sOxonOi391kFdHu+uXya3s0U8Zk6bYr8c/h0Pd7hd9fpr0kqN7Xfs3Kn7TVcVKBCeowjSbwP7CS9Pktlz5ul0wHwI5stQpmHwYvkLzz0TDr+fOaewI4cTk//t7ZCpSzCnhrHLUwOf0WNka9mw9+39lLug9aVDFOKaT/ETP+uzMX4ZOWqMHiugPcMYHu02+ORVbSDmo6IJjc/W+DbevOInXTd8t1HtiD5Qz9fq8YSaTzmkxhPI33j56skn+ukNFaws4z33KzQOMl5FGBNR38MfP/07bLTRoFETPbeJvhTqNWMWL1kqg4cOVy/ql5BxY0aay45Hv/O1pl4IMqfhNw/EMqfhd07Gz/xC0HJoH68HrdPiacsdE5sXSYAESIAESIAESIAESIAESIAESCCNEUi00BgLW6HU8Ld+/foQ/mjOPQJPP/t86M57SoWUENgzcmriVtu7+977Q/fe/2Boztz5ISXuCKkds0JqoSFUqnQZff/NVW8l8UftHKXvNWnWMrRv377w/Q3ffReqUKlK6IGyD4V+Pn48fN3t5OTJU6FHKlcNIQxqN7eQmgjWVtWuASElgtTPGDt+QoTzzl276etjxo4PX8dzEecatevp8he+oU6M/QaNHgspgY++pYTUoeWvvqbjDXdKEGZ1ElI7OGj/atWtHzp85Ej4ntrRNwS+SkAZvoaT6jXraPvrvv02fF0tkoQerlhFx03tvhS+bk66PN5Duxn4zHMhJao2l3W4wKN5yzbhazhRC8HaPsKrFpEi7vnlqCaZQ4cOHQr7t2btOv0b1+CXMTNmztZ2yj70SEjtSKyfizT69tv1oYpVqut7TvlMCbL0vfseKBuqWLlaSAnAdRyRV5QQSt9DHBGnWIzxTy2CRVhXn1fVfimReUgJ68L3Vr//QWj8hJfDv71OBg8dpv1o3bZ96MiRo9oq6vAx4ybo68NGjEziHPlNfSZVp6/acTJ8H3kF6YY0Urvkhq/jxMQhCJOgeaVqjdoh/KEMfLNmjU6/U6fOpK8S/IXUTomhaTNmhg4ePBgOqxKFh8uF2l03fB0nXnnQ1Cet2rSPcKMEZJrHiJGjI66bH2rnKn1f7U5rLrkeTTkD375PPBlS4lZtF2k/acpU7Q/uqd2tI/zwCvfI0WO0OyXiiXBjfph0s+c93PebLsZP+1HtHhVSE/0h1LXHj5/Qt9Wihs7DiM9Dj1ROUudY43RPqdKhKVOnh44dO6bdIh9369FLxwtpbC0bsAA+yL8og6jrkd9h4KcSpWt3jzVtEVHPLFy0RF/v0Lmrtmv/T72oou8PGTYi4laiGEV4+r8fqDdL3veAfi7qLqtRImIdv/IVKobatOtgvaXPW7Q6U05Rlo2xMjV1LI7wG/kTaYE6Hb/Nn2EHP0xeAdd4672gbZApG6ats5cN1N1247eNjKX9UDsYa15gYWWMPIq2fdfuM22xPSzmN/ohYGzq05mzZoeZq13WjLVwnYT8jD+U423bd4TQxqvdysNtM55pN37KndrVWz8f9RgYo94yeQBH03exP8P8RjpUqVZTu0UZ27v3TL8J+Qt5C22ZyXNwE7TtVQvsoTbtO4bUlynCdQba9I6q3CLcj3fvaYIUPpp861TH+e3r+U33zZu36HKKsA0aPDSkXhrR4QJv1Omz5swNhxMnyVmfmAfFwzBI+96+Y2edNmirUTcjLyEvqC9hhPMv+NjrcRNeHtMGAfQ11QtFMf0pIV9UKKY/9eVXXyex66ecIV9a62qE0dSNyMux1uVB+iUIeKWqNXT5wRjS1KEYQ6IORRtgNaaNR7tkNRjf4BrGr7BjNfH0953qVD/++Wl3/LbjJo4mH6DuQtuE8SD6nxjPtm3fSbPFWDgWY/iivjJpAXd+2wWnZyFNa9apF1IvxoTUVz/C/qOvU7V6LR1O9GdjMUHGP7H4a+z4STfDH/nPD38/+ciEy+kYlKsJt998gzYe/XLkEfUidri8gdmixUtCpcuU1/cwBonFJDItg9RBGLOhvkN88Id0wW9rP9UpHvFyx7imTr2GIfXVLD2GM30nPMtvvw1u1Be8dPgxH7hk6fLwuBDzGphjsbYpfuec4L+bMfnI3g6ZugThQdmIpW/vp9wFrS+d4hEkDwaJn3k26miT39TL0uF5O+Q5zGlhLIT7mN/wMqijkVeTc3ybiLwSa7qir4E2HHF/4smnwvMpmPcyc32oX9TLl15YfN977X/z6Y0ea+bp1qR5kPFqoup7BNBP/w72zXgU43Ez1sX8C+amMAejXnaANU+DMS7SJdb5WlMvwA3m+2Kd0wiSB2KZ0/A7J+NnfiFIOXTqWwat0wxrv225Z4LzJgmQAAmQAAmQAAmQAAmQAAmQAAmkIQJGbwutSCL+KDROQ5knpUbVr9C4TPmHQ2vWrE0SnaeeflZPCkIoaDUQ0JZ+sFyobA8JnMcAAEAASURBVPkKWphsvYdzLFBgYlB9gtZ+K8lvtSOstjt6zLgk97AIg8XD+9WzrELcAwcO6muY3DRCQ4gb8czPPvs8wh8IXHEdcbQuwhhLWNTCfTwHE9nGQPCC65MmTzWXPI9mks4IjSFEbty0ufYDi+52AyEs/MekrXUx1tjDBDnuQyxkjJmgxnW7myAc4S/8wp+T6AviU7C3h8OEB2IuTJZjAQgCbKsxwqUGjzZOMqGPSWoIauBvLOJS+Gv8s0+s1m3wqPYHItqgBoJAhMUuSMDiIfIY4mfEuXgG2GMxAW6cBOSYcIcbCJetxsTBL5N48wrCAdGdk7EL5o2d/gMG6vjZy6VXHnQTGkMQAFZY/IF4wWogUMELDVj4cQuL1b4pZ9OUONrJmHLTvWfviNte4Q4qNA6SLhGBsvxAnkJ9Zze4XrnaGRGNPa9Z46Q+W2t3qlkbt9Y6CH42bNxEp4lTHY2OkBFEvrJocdhfvDhiyoPTAjpe5EA6YzHMmEQyMn7aj1hsx3PfeHNVxC2I91DWkJcRbqtI7zdV10OcjXYBPIyxMrVex33UMXgOXoxxM0HLuJN/QdugadNnOHmnF10RfnvZCNpG4iHwD39O7YdZuIboNR4D93gG+hVOxppm8xcsTGJF7U6n3ddr0CjJPaSx33KHPgHCg7rGj8ELOXCHNsutPjb+xdP2ovw6GfSV8Hy02cj/VmPyrb19DdLX85Pu4G/6Sc8p8Vg0czbqE4QhHoZB23eIadC3tZv9Bw7odEPaWeswuz3+JgG/BEx/yi7wClrOTF2tPm/vGBRz36kuR10QpF+CF1dQNlB+nOpye0BMe4E+ujGoG9EXgB8QGloNwhVPf99epwb1L1q7E087bvIBBEB2hvv27w/XP079PisrnBu+SBPE1Rg/7YJx43R0GycsXXZm3qFp85ZOzhyvufnlNv5x9CTKxWjpBudB+AfNR27BdWPhxTVIuPF8M1+BttKpL6R27dR5LlahMfx0C7+ftATTIHUQng+DPI8/p3b8jI2k/7uFOxbuEGtDJGo3QfptEF4agbd9LGX3H79NGtrnCHAPdYjT3B3uORmTj+ztkLUu8du3j1bu4qkvneKAa25p6ZYHg8bPWvZffGmwY3CwgQHyYjShsXGcnOPbROaVaOlqxMSYFzCCWBNHHPv066+59O77hPVy3Od+hcZIGz952prm9rkgBN5t3tEpYkH6d5i7M3Uj6meY8RMnaZbYlCEW43e+1tQLfuc04skDpg53mtPwOyeDNLP3p8AJ183cnD0t/ZRDe98ynjrNsE5EHzCWvEA7JEACJEACJEACJEACJEACJEACJHCuEaDQ+FxLUcZH77iLyTKnnWateNyEgcYOdpKDP3ZhEsRnuD5k6HBjNeKIXZFx32nnvAiL6gcWSiB8cVvANLsa23dWxa5FeAZ2ZcBuxDh3mjhWn9PV99wmQjEJiB0q4f5Ly860mADGNUysxrIzs5mkM0Jj7IgH9267pCKsuP/e6vftSPTvN1e9re9bd2eyLkpgotJqgnJEGPDnNKn6ysJF+l6zFq2tj4o4R96Ae0w4W42bcMnY6drtzG7OVgGkued0dPOvZ++++vlYVLGLWJ38sV+DgBjhdxJfwa7ZzcsqnoTAGm6wSOpmsPsXFu2sxi0Oxo4bk3jzyncbN5pHxHzE7uaII3YRsRqvPOhVnyAPwb+PP/nU6l14Fx3sdBKLMeXMviBp3GIHSDwHohGr8Qp3UKFxkHSxhinWc7MzMV6KsBqvOBl748ZP1Dyw+6ox27Zt19ewc8mJE2d2Tzb3zBHlEhyxu5rVdOtxprxjEdxqUH/APnaUt5qzwQiiczwb5csYLPhCNIRFWPMyiTXvYbdxuEH9YTVeTONZADLPcCvj5r71GLQN8ls2graRCCsY4s+p/fhh61Z9D183+H7zZmvUfJ17idPgkVea4f7GTd/rcDxYLrJOwD0v41buoi10u/mJnZ/AKpaXa+Jpe92ej+tGSIJFaatxa5uC9PX8pDvCASZ4EcBJMGMNI87PRn1if6b9t1+Gxr1b2UcbCwZYxHYyEADhPv4oNHYixGtBCbj1p4KWM1NXBxEaB+2XQEyEL66gfGAHuWjGtBdGaIwxQJ36DbV7p6/3JLq/H9S/aO1OPO24Wz4wLM0Lp1u2/GAuuR4NX6SHdZzqp11w9dzjBvoYeCba2XiN2/gniL/R0g1+BuEfNB/5jYMX1yDhxvOj9YUgdEVa+hEau8XLT1oGrYPMsxFm/PkRGhu39mMs3PGVDycTpN9mxkn1GzZ2FGjanxN0zsnuD3675SO3usT44dW3j1bu4qkvzfNjPbrlwaDxM/1mvCzr1m/Gi3vIi8khNLYLHA0Htz5uIvNKtHTFF5wQb/umEyaMaMNwH+2/2wuFxq6fYxChsbV9NM9yy9OJrO+D9u82btykueFla+zgjX6BfZMOEw+no9/5Wrd6wfjtNt8XTx5A3sCf05yG3zkZE06no9v8QjzzTPHUadFY++kDOsWX10iABEiABEiABEiABEiABEiABEjgXCeQaKFxOkxcSSowW7Zs0aG88cYbU0FoGUQ/BJRoRJToT+rVrS1dOnV0dfr6G2+K2v1YbipeXCaOH5PE3orXVsrzLwySW0qUkHFjRobvDxo8RJYuWyG1a9WUm28qHr5uTlSlIWoHD8mfP58smDvbXE5yVJ8qk4pVqkm2bJdJt65dktzHBfWGvigxrjz79FNStsyDYTtqcVmaNG8pP/ywVbJmySJ///OPflbOnDnCdnBSp15D2bN3rwx64Tm5/75SEffMjy6Pdxc1YalZgRnMqVO/Sqs27URN6MtFF10kVSpVlCpVKsnVV12l79v/q1Grrhw4eFBz/O67TTJ67Di58MIL5Y3XlkumTJns1qVu/UdF7aIlPXt0k0suvjjJfTWJK5OnTpMa1apqO7CgdqmRajXOhO/Tj96X8847T7uLh6MS2Go/FsybLQXy59fn5r8XXxoiauFe6tapJV07dzKXI44zZ82RcRMmyn2l7pWXXnw+fE992laU2ECaNmksrVu2CF83J2q3bFGL+tKieVNp0aypuex6dPNPLV5L67YdRO1GLVfmzi01alSTihUelssuu8zVL/uN6rXqyMGDP8qSRQu0H9b7agcO2b17j6xcsUwuvzybvvX2O+/q/H3brbdIdZU+TkZ98l3UZ/7k9VeX6/wNO25xMO7dmCQyr5hn2Y87d+2Sjz76RLbv2KH/EGe105SUuPkmGT92dNi6Wx6EBa/6BHkB8S/z4APy3DMDw/6p3TN0GR86eJCUvOfu8HW3E1PORo8cLrffdmsSaz/++KNUq1lHX39n1RuSJctF+twr3OqzozJ33gKpUrmS9O3dM4mfbukWJF2SeG67gLrz62/WyJq1a2XHjp2iFpdU3jwoqO+aN20iLVs0C7vwipOxtFLV8c+oOr5woUIyc/oUfVnt3C1K2C2FChaUWTOmGqsRRyVOlxat2mp+4GgM6mOk2e233yajRwwzl2Xa9JmidkdOUt6Tg1H4of87UQuH8lizFpI7dy5ZuugVfVV9Yl7UJyR1XruqQAFRL4xE1GNjx0+UWbPnSPfHu0qtmtXDXnoxRZq069BZ1wOoD5yMW14xdt3KuLlvPQZtg/yWjaBtJMLq1X7gvokv2qoHHygtVatUFtSb6dKlw+2YTNsOnWTt2nXSq0d3Vd9WSeLGK81gef/+/VKzTn3t7vNPPkziHhf8lLvJU6bptrlc2TLyzMABjv7ZLx479rOoxVl9GX2CaO1TPG2vebYai8iHH30smzZ9H67X0VeAGTt6pNx6Swlj1bVtCtrXizXdleha1M7QctVVBWT+nFnh8LidnI36xPrsRDA0/hkm9j5Pg0cf0/3MgQOelIfKlzXWw8dDhw5Lleo19e/V76xy7E+GLfOEBHwQcOtPBS1npq7u36+PVHykQpKQmPtOdXk8/RK1a72ol1L184oXv1GPm9DeXHDBBUnCYNoLtEmffLhaevTqKx9/8kmSvq5xmOj+flD/orU78bTjbvnAMED9g3po/JhRUqLEzeay49HwxU3rOBW/TR0YT38A/sCol5NF7cwoP2zdJtu3b1d16C5RXz7S9z77+ANffYxYxz/ac5//RUs3eBeEf9B8FC34frgGCffxEyfk4Ucq62C8tnyJZM+ePUmQMDeAvFK0SBGZPnVSkvteF+JJy3jqIITJ9IcxDsF4xI9JJPcg/baXBg+VJcuWS43q1aRn98c9gx7PnJOTx275yKsugT9effto5S6e+tIpDtZrsebBoPHDnKh6QU3y5csrC+fPtT46fI65W8zhNqhfVzp1aB++7naSXOPbROcVr3Q9cvSoVKpyZjz/9qrX9dywPb4Y6ynRpKhNJvScCOZGEmGc5lqc/A2a5oms74P27xCfYSNGiXoRVrM9eeqU59y6Pf5+52vd6gXjr9N8X7x5wNThTnPifudkTDj9zC/EUw7jqdOisfbTBzTx5pEESIAESIAESIAESIAESIAESIAE0hKBDRs26OgWUfPZiTAUGieCIv2Ii0CihMbq82iiduTVghQIU4wxi8Xmt9sxR44c8uqyxW63tZgOwq1YDASAEAJazeIlS2Xw0OH60qMN6kuH9m2tt0XtFiGlSpfRIr2Z06ZI4cLOE8ovDBosy1e8qkVMWAA3BpOoE1+eJCteXaknpXEdoms857piRY01fTSTdBDWzpg5WwuXMLkIES2EJVZjDZf1utP5Q+XLycAB/fUttwlqMzHp5N5+zc7Ra1LVpHPnTh2kft0z4k27f6veekcGDHxai5QxMWtMNMGd2oFY1K5FWjgJAWU04+UfBNsjRo5RYvEvNPf06dPLQ+XKSts2rRwXMe3PMhPnlSo+Iv369AovUBtRpV2QaRY67P44/V60YJ7kzZtH3/KKAyw4MUl0XrGH8auvvpaXJ0+RDd9tFHArUriwFCpUUH755Rct8MeLBBPG/f9LCG55EP56CY3VDrNSqWp1VY7+0uJrCICx0KN2tlJikAxayI3nRzOmnLmJKSE0KFP+jMAFC3BYiIPxCncQoXHQdPGK38LFS2T+/Fdk/4EDWuCLRfZCahEMIsvN6sWgZk0fk1Ytmoe98IqTsfTRx58oIU0fXQ6wqA9j8m+pe0vK4EEvGKsRxyNHjqj0qqGvWUX2EN49UrmaFva//uoyufTSS7UdCHm3K1E0XiwpUODMCwvJwSgikP/7gXq2QqWqcvz48fDLAmPGjpc58+brFz0uueQSqVCxihZ3zpszU7tq3rKNbNy0SeyLSV5MTT2LFw6CCo2dyrhTnMy1IG2Qn7JhTaMgbaRX+4E4QCC/cNESmT5zlhYG4Rrqw9bq5RMIdWMxph1yEqfBvVea4T7KU83a9XS9DgGS3fgtd6b8+BEam7yTOXNmee/tN+1BSPLbxDlI24syCiH9G+olA+Qf9MOKFimsXzZYsHChfolqzKgRWvBtHuzWNplwGHtuR3tfL9Z0NyzvLXmPDHnpRTfv9XVrXvW0qG5a+03R7DrdTyRD479T2UfdpXaW1y/1TH55vNxw/fXGevhIoXEYRZo/gXBo3bpvY+KAF7fwYpeXcepPxVPOTH0RRGhs6oIg/RLE8fPPv5BRY8Zp0T5+Z82aVY9bHm1YP0JwbNoLiF0fa/yofkkKL76gLNpfwIA/Jlw4j2Zi6e8H9c+4c2p3rGkWpB13ygfWuKpdC+WnQ4f0S4d4+dDLGL6wYxcax9ouePmP9ny0Smf1hQpRX7GRq6+6So3tC6oXOi+XefMXaKf257r553f84+aP13WvdDPugvA3/ho/vI7WfOlmLwjXIOFev36DtGrbXpfJD1e/4xicIELjRKSlYRq0DjL9YT9C4+TgbuphR7iWi9Z+m3EDUSrEqV7G9Ge97Jh79jknc916dMtHXnUJ3Hv17U1aJkd9aQ279dxvHgwav+kzZsqElyfLXXfeISOGDbEGIXz+XwiNnfq4ic4rXulqnoXNId596/9fkA5D+d9J7XoNZO/effpF0VjHoXY/7L8TJjR2Ga+aeNuf6/Tbq7639hWc3FqvOY2jIKJXu55ra5gHnzr5ZauTqOd+5mvd6gXzEKf5vnjzgKnD7XND5pl+5mTgxu/8ggm/33kma7r+131Aw4pHEiABEiABEiABEiABEiABEiABEkhLBBItNBa1QK0/x5XSj2YrZ7W4RnOOEVC7FOtPfw0fOcozZmrXY22vVZv2jvbULlH6frsOnSLu9+nXX19XO1jqT6LjE49Of2p31Ah39h+4j0+UVahUxdG91U8lfIxwriYYQ0oIpz/dBj+qVKsZwjW7MZ/o/Orrb+y3wr+t8QlftJzg2QteWRiqWaeeDi8+V6h2zLTY+P9PPyIsZco/HMLn6/Gp9nvvfzC0w/aZcjh8qEIl7dcHH37kGXd8WtEYt88sxsMR4cWf02fizCe9kc5uRonItPvWbSPzkNun2I0/arci7U7t2mwueR6j+QfH+/btC40ZNyFUtnwF7XfFKtVD+Ox4NKNEsKFGTZppN23adQhNmTo9hPDh04qly5QPbdu2PcILE2d8JtKaR53O1UJ42G20OLgxSWReCQdGnajdLnX+VGL80Kw5c0NqR6Xw7aXLljumq1sehMNo9cngocO0n0rUr5/z0ccf698vvjQ4/NxoJ9E+76d2kdZ+2j+L6RVufFoUZUC9VOH4eLd0C5Iujg9QF5FvEYZqNWuHVr31dsQnPdXu8PqevRx6xck8Z/HSZdpti1ZtzKWQ+USuvcyGLagTU6egrlOCcOutkOFhPlOuFo70Mxo3bR5hDz8SySiJ55YLaodmHQa0WTAoz0r8HLZh6jJ8ZhbtBPIH2gy78WIazyctzXPcyri573b00wah7XEy1rKBOs+YeNpIr/bD+I+j2h09pF7cCLVp31GnE9y9PGmK1YrruXGzZOlyRzteaQYH+/bv189UC4hJ3Acpd9E+3ZvkIeqC+ewt8p29PDnZN/nVXuatdk07ZC3Hamf/EPpr4Nu2facQ8qwSd4WdVaxcTd+z94dMmbZ/EtnaN3Jq38w1t75etHQ3n/hu0bptOIxeJ2ejPkk0QxMft7JvPvNr71Mad+jDmHL222+/mcs8pkECatfeENrkWP7Gjp8QlZBbfypoOTN1tfqCheOzzX2nujzefol54Lffrg8NGPiMbuNRbjp06qLbH3Pf2l7gPvoKamd1XcZq1a0f0feCG1PPJqq/H9S/aO1OPO24Wz4wzNBXAqs1a9eZS65HK18lfnG0F61dcHSkLipxWKhytRo6LBg3oE9jjOmHIpxuzzV2cQwy/rG6j/U8WrrBnyD8g+Yjp3AH5Rok3BhPI43QH3PrC6mXkLWdx5q2cApukmuJSst46yDEC38HDhxMEkanC8nFPUi/rXffJ3TYx0942SmoEdfM+DDI3F2ER//74ZaPotUlXn37aOUunvrSKQ5B8mDQ+KkdZXVaefWbn3v+RW0H8xuxmOQa3yY6r3ilK+ZaUf4wzkIb42ZM/8Y+DnKzH8v11/43n97osWae1oOmeSLrexN/P/PPJlLde/bWjEs/WE5zxhgwiIllvtatXjDPc5rTiDcPmDrcaU7cPBfHWOZkgswvxFMO46nTorH20we0cuI5CZAACZAACZAACZAACZAACZAACaQVAkZvmyhdMIXGaSXnpOB4JrfQ2Ez0Dhk2Ii4KmAjGgjkm9o4fP+HLr6HDR2p3mHBXu/HpcwgZ7caIbiC4czMQpCEMWGz2MhCNDho8VNu1itjgxkzSlbzvAS0yxrX5CxZquy3btIsQ++CeWXBXn37Fz5iM2wR1PBy9JlUhAsb9fv0HuIbPpAO4WI2bcMnYcRPdmPv2YzT/rPZPnDgRataitQ47whfNQGCrdugIYYEAYkn1WcVQ7boNQliogTDRbsxEcINGj9lvef6OFgc3JonMK9YA1qnfUDPCApndJIfQeOvWbfp55sUFtZO4/r1mzVr7411/m3LmJqZ8/4MPtZ8Q7FqNW9mBHQhykM+ffGqg1Un43C3dgqRL2FPLifq0qH4+RO1O+S0eofGwEWfqSbQJxkAsgvg+UrlqknrJ2EG9BDt1GzxqLoWPWJzDvS6P99DXZs6eo3/PmTs/bMecJIqR8c/tqHbT1mFAmUX5h4hhxMjRYesQtyPMsIe8g3Okq9145RNT7sHNzbjlFWPfrYyb+9GOsbRBfstGPG0kOOIv2qKcNV4QkSB98BdLu2/ykJM4Df56pRnuu4kRgpY70/954smn4H1MBoIaLH6Dlfp8bFQ3Qdte9Xld/Qy0f04iHr9CYxPXePt6iLBTupuyWL5CxZjEYSYv+Ok3RYVts5BohsZ7t7KPPgfyhXlxw9g3RwqNDQkeE03ArT8VtJwZd0GExvH2S+xsUM8aQY21vrC2FxCtHj58WDvt2buvLofjxk+M8Mq0+4nq7wf1z9TFbu1OPO24Wz4wIPyITKx8YxH8OrUL5rn246CXhug0svbtjB2/QuMg4x/zLD/HaOkGv4LwD5qPnMIelGuQcONFP9NvRJo5Gb9C40SlZbx1kIlXrELj5OJu8pyffhteMkP4UQ9GM/HMOTn57ZaPotUlbn17PMMwSI760ikOQfJg0PiZl7TxMr2bSSlC40TnFa90xbMwB4t8bH0JxcoIAlFTTo8dO2a9Fdd5cguNE1nfm36atV8US+TNvFCvPv30XAo4Yt7UuqFCLP5Y7XjN17rVC8a903xfvHnA5I1Y5zTc5mSCzi+YdA4yz5RS+oAmfXgkARIgARIgARIgARIgARIgARIggbREgELjtJTaaSSuyS00/vyLL/VE7cMVq2hRVzxYsdMmJvamTpsRszebvv9ei3YgBsUk38/Hj4fKPvSIFi5hNyurGT/xzOKJ2y4TG777Tj8fgudYFocgSkV4IRqyTq6aCVHsfGwMFlkfbdxU21+8ZKm5rI9YzIY/HTp3jbju9cNrUSIIRzwLolqEw2mnqi/Vrs24hx1vjxw5miRo2F0PAiHYwcKg1SRacBfNP+uzcW52KMMOxdGMEUs7iTyd3GKhAtwglFu77lsnK47XosXBTYiU6LyCwEHgh3Rz22EToj7ct+6WCXdeeTDajsZw37xlG/3Mw0eO6B3JsSt5LGIEuIUx5cxNTNlRlSeEGyytxivcZncgp7zym9oh1AjB7Lt9BkkXa5jM+Xur39dhdttZHguliJN9d1OvOMFvlE+zW6bZ6RfXfzl5MoTdaOAnFmqcTOeu3fR9LFbaDdILAh3s1g7RAF6kQD5yKj+JYmQPg/036ieUR7wwgF16EDf1ae2wNdTtuIYyOG36DH2OnaPtxovpxk3fa3eoD51EnPAraBm3h8Prd7Q2KFrZwO7PVhNPG+nVflifYT+v16CRZvn1N2vst5L8xk6SSDu33e+90gyeuYkRgpY77P6O8JgXJpIE2OVCk2YttTvkkWgmaNs7ZOhw/Qx7XWWeh8VLhN2+k5dbvk1kXw9hsKc7+m4oTwgT2o9o5mzUJ4lmaOLk1r6rz03r+NvbWuMOO3+BD/64o7GhwmMiCLj1p4KWMyNgcRMae9Xl8fZLnHi8NOTMVzSsu+eb9gL9BetLH7iO9gxCJbwUZ0yi+/tB/YvW7sTTjrvlA8MgOYXGeIa9XTDPtR8bPNpY14NOfRwIg0w9GW1MEXT8Yw9PLL+jpRv8CMI/aD5yCnNQrkHCjedXrV5Lp5V9TGPCtvx/X9OKZUfjRKZlvHWQyX+xzCUhrsnFPUi/DeMlhB/1H/oc0UzQOScnf93ykamrES6nMu3Wt8czopW7eOpLexyC5sGg8UO80X6Bi70vb8KGXf1xP9YdjZNzfJvIvBItXTEfgXjjJWsnM2PmbH2/Ru16TrcDX0tuoXEi6/sg/TvM9WC+zlo/YMwC1tNnzgrMDQ7d5mvd6gXzMDPfZ5/TiCcPBJnTcJqTCTq/EE85jKdOi8baTx/QpA+PJEACJEACJEACJEACJEACJEACJJCWCFBonJZSO43E9Wm1eyUm/4aPHOUZ42jCQIjT4I+ToMYsGHfr0St08uSpiOfgU91btvwQcc3tx3cbN2qRGkRrVmGYsQ9BIv6MwWIDPnWLcEFQZowRRmJXEasI7NSpUyGzi59dfIOdrMxuxvbJ+HnzXwlhF2TrZ8fxLLPTTo1adc2j9dFM0q37NlJ4un79Br0g8GC5h8M7Z8GBNVzYocO+iIJP2+/cuSviGRDlIN74wxbsVuOXo3ELsTb8cxN6P969p77f+fHuESIXMDY7rTZt0SpJ+N2ES+a5bqIbc99+dPIPaYPP52IHCLsxu7lgt+toBuJXLNq47YDi5N4sdtSsU89xN08IGOxp6hQHq99uTILklWgLWEg/s8OmfVeTTz79LLwTnF385JUH331vtc4r2E3Tzbz62kptx4irRoyK7bOexj9Tznr06hNRL+A+yizyMuoSLMRZjVe4P/vsc+0OPDZu3BR2hoUViH9NmbPXH0HSJey55cTs6okFHOyCYgzyNxbFzK7v9kV5axrjnrXewzl2IkfYUSdaX4qA/7PnzNP3wHPPnr3mkfr4yqLF+p69zrJaGj1mnLaDFyvAzamNgP0gjLBo27Z9pxCE39vUZ5ZjNXiZBGExn5dH+lkNyirii7YL5d1pNyMrU3v5RTtk8oK9njfPCVrGjXvrMWgbhE+bml0ajX8RZcMmIrCmkT2Pe7WR8Nur/cBLGFjstYsjDx48GK57fvzpJxNE16PZ+bxDpy6OdrzSDA7cxAhByx0E6sgHWJC0ljnHwFkump2KkEetwn9YQXs+Zer0CFZB2l6kH8Jm/+IC0ti8sID7dnECvgaB6/jUq9347ev5TXezQxk+w22tfxEOvLyAHdONsebVWPtNfuuToAyDln3UcUY0Yv/yBvIudpVH2uDPXpYMFx5JIAgBvJiDfIU+kNUEKWdwH01oHK0uD9IvQd8OQpP9Bw5Yo6DHbrXq1tfxw5cMjDHtBephuzEiJPuYJkh/36tODeJftHbHmmZ+23HTr3YS8IKRH5GJ4Yt8Ze1D+W0X7GmD36Y/bv9SDXbGRf/P1JPW5zr5E3T847ctwbOjpRvsBOUfJB/heXYTlGvQcC9ctESnVdnyFUJ42dtqPvv8ixDGHkjLWITGQdPS+kzreZA6yLg3+S9WoXFycUd4/Pbb4AbjLsQBwlDrWBT31m/4LvTW2+/gVJugc07GvfXolo/c6hLj1q1vj/vRyl089aV5vjkGzYPxxK9Pv/46rbCZgT2tIPw0fUr73KYJs/2YnOPbROaVaOmKMQTadrzA+NHHn0REE+N21DnI4/Z7GOtivgt9GDvPCE9cfiS30BiPTVR9b837sY6jsDs6uFnXFbZt36GFx2Dttju9wRVkvtbUC37nNILmAYTVa07Dz5xM0PmFeMqhNV3/yz6gSXMeSYAESIAESIAESIAESIAESIAESCAtEUi00DgdBAOSCsyWLVt0KG+88cZUEFoG0Q8BJXgQJSKWenVrS5dOHV2dqsVXefrZ5+Wm4sVl4vgxSewpUaA898IgufWWEjJ29MiI+z/++KO0ad9JcMyRI4eUurek5MubR5RwSL7++hvZtXuPzJ09Qwrkzx/hzumHmuiUKdOm61v33H2XXHddMUl//vmyddt2+fCjj6XMgw/IU08+oe/Pm79ARo4eK3fecbuMHD407J2qtKR1uw6ihL3StEljad2yRfieEjBL3yeeFLUYINcVK6ric4sc+/lnUYJKOX78uBQuVEgmThgrmS68ULtRO0dI7XoN5MSJX6RQwYJy660lVNzyyrpv12s3SuwhfXv3lCqVK4WfoYTHcuDgQc0RPK0GDMGy9P33yYvPPxu+hecrMaAoUbEULlxI7rjtNrnssstETdiKmgSXzJkyyYJ5syV9+vRhNzXr1Jf9+/dL9WpVpF3bNpI1S5bwPT8cjSPj5rzzzpP7St2rWWTOnFnnHdg5ePBHxbW9HDp0WHLnziX33H23Cs/5onbMkd0qjS+55GIZM2qE5mT8xFEJfEXtapYkLYwdJTQVJdqWli2aSfOmTcxl16OTf9+sWStqRwtB2t9+261yww3XS9asWUWJJkTtlKm5TZv8slx77TWu/uLG+Akvy4xZs3U+vuP225QfZ5imS3eejl/uXLnk3pL3yEUXXRT2Ry1kS5duPeSrr76WjBkzyoMPlJZrrrlaTp08JWrHbVFCLunbp5dUqVQx7MYpDuGb6sSLid+8gnJYrUZt7f2nH70vSF+7UZ9I1eXr0ksv1XkzR47ssnbtOgHXEjffLGvWrpWbbyouE8ZF1g1ueRB5pEr1mnLBBRdI2zatpH7dOvZH6rxeqWp1OXXqV31v2pSXpVjRoknsuV0w5ezyy7Mpv/6Qu++6U664IqeoRVDZoP5g2rVpLY0bNUzihVu41QKI1FLlCuUXBvVdFlWu1EKB5LriCild+j6ZNn2mY172my5JAqUuoD6p17CRLmOoL++/v5QoYbB8ocrYnr37pGiRwrLhu43SrOlj0qpF87AXJo1RB/yh6rZs2bIJ8u8FF2SQL778SvYqtxeqOm3ISy/KbbfeEnaHE+Tfjp0f12mcJctFUvKee3Rc12/YIEoQIuer+hd1XMVHKkS4Mz+2qbr50ceaSiZVR50+fTpJXjf2cPTLCG0X2jAYPL9/vz76PNp/Y8dPlFmz50iGDBmkaNEiMmnCuAgnandDWbJ0mb5/VYECMmvG1Ij7+GGY4typ3LRt31HzQR1Z4eGHdB19q2J71513wEnC6r142iCkHdIdYcqV64qYyobfNlJHVv3n1X6079hZ1yXoH9ytwlK4cGHVZuyWDz76SOf1h8qXk4ED+huvXI+oj+AXDPoGpUqWFCUSl26Pd9HXoqWZEqBJzdr1JF26dPLZxx9oN/gvaLlD3YV6Du5RPzys8gH6ES2aNZHs2bOH/Xc6GTpshCxcvETfQt2K/jfcfqnK60+HDul687FGj+r7Qdre7zdvFvXijKBOK3HzTbqfpEQv8unnX6h28l/JclEW3b9Am22tE95c9ZaoF10kT5480rVzR93emfD77ev5TXf0y9RLBard3KzLJup0tNnqxR9dB6sXBmTSxPFyo2rfYZK7PgnKMJ72fdDgIbJ02QodP7Q/qL92796rys8ayaHy1LGfj+k2c/U7q3Sdqy3yPxKIk8DzamyyQo1N0G/o1KG9FCx4bdhHv+UMDtt26KT7kGiznfoO0eryIP0SjB3RDqHNK3nP3VKsWFH5/fTvum+rXvjTY9Dp0yaHx3emvUCfGG281aDfpV7S0GObx7t0kjq1a+nbQfr7XnVqEP9iaXeCtuOmXz165HA9lrIywbnagVa3T+PHjtbtiv2+9bfhi2vWPpTfdsHqpzmfv2ChjBg1WrcTGJNh7ID6+nPVvl111VWqzdglp9V42vpc49Z+DDL+CdI3jSXdgvIPko/sHPA7KNeg4Vaftxcl5pdtahyB8TPa/Dx5rhQlENP9VbR/mzZ9r8Y+RWT61ElOQY64FiQtIzyw/ADToGMjJe7UPi1d9IqeL7F463iaXNzxML/9NrjZqcpPuw6dRe3QqeeiMIa4ImdO2ajmNL5RcyoYFy9fuihcl5r+P9xGm7uDHTfjlo/c6hLjj1vfHvdjKXdB60vzfOsxSB6MJ37oH7ds3VZOnjolmA+56447BONSzH3tUuMslB3UjQ3q19VtuzWsbufJOb5NVF6JJV0nvDxZps+Yqee9ULcUUnO8aBvQp0Hdg7lbzG9Yzdx5C2TUmLH6EsaWtWvWsN6Oer5Szac/o+bTMZ88c/oUV/vxpHmi6nsEzk//DmMz9fKBXHzxxbJowTxVD/z/XKiZP8V4Fv0DjLOdTJD5WlMvBJnTCJIHEG6TT9E/tM6JP1LhIV/rAkHnFxCGeMph0DrNsE5EHxBxoCEBEiABEiABEiABEiABEiABEiCBtEZgg9LVwBRRc3KJMBQaJ4Ii/YiLwNkQGiOAmEgbNWacFowqgX04zNkvv1zqKpFzrRrVYxZFQLCpdkzQIhjjESb6sNDRXAl4rr/uOi0Cq9+gkfypJornzJyuFhYLGKv6uGPnTmnc5IwQb/qUSRGL5piUf+6FF+U7tZAFYSoMFqYxmdyqZXO9cKkv/u8/iH/UZ8jkvfdW64l8cw9C4NbKfrWqVcwlfTSTdBBs24XGx0+ckDr1GgrEYxAaQ3BsDETDapcvJfhbp8VB5joEzk0eayQPlL4/QiQKId2kKdO0aNouFoLbWDiaZ+CINITAVe0OHb6MZ1tFeFjIgEBKfd5OCyBhEWmDRf3ePXvoRY6w4/+dxCO6sfuF327+YaFy9Nhxmh8WEIyBYKJbl85SosTN5pLrEUInpN+Ro0dd7UCE/tKLz8vtSpBhDPLRKwsXy9Tp07Uo3VxHvoLIAmJXLNIZ4xYHc99LaAw7fvJKtMUM+IfFRPV5TS3mwm+Yq9Vifft2raW4EsCVr1DJUWjslQd79emnBR7IH++/+1aScoVnDBk2XBYtXip58+bRixa4FqtBOv2mhK0LF8yVESNHC8QcWHyByZbtMunZvVtE+bL66xXuH37YKr369tPCergxi9/9lFj82/XrpXvPPo5CY9j1ky6w72SwqA6h3569e/VtLKxAKIgFLwj6e/d9wlVojBcxIEBWO/nqsBr/UY4HPtVfrrn6anMp4ggxotohR9QufroeMDdRdvr27qVfyjDXnI4QGqP8Qdj7+mvLI156sNv3w+jIkSN6oR+L3gUK5JcFc2fbvXP8bRUx2UXZcPD+Bx9qjjh3W3yNVm6QPr1699ML8vAHpm6dWkqc2Umfx1vGtSf/+y9oG4Q2BnFVu4+F25RoZQOP9NtGwo1X+4H6eMHCRaqOXKSFxbAPg/xSu1YN9ZJJ87Bg4cwd9/8hJlM7/objg/KxcsVSwUsS0dLMS4wQpNwhlFjMG6jKK9pGY+xtu7luP6qd35VYaoyoHbTCt/CCTNPHGuu8hLgZE6TthRhK7ToVfpkDLwOgjujcsb28rAR5Cxct1i8HWYXGaPs6qRcP0IdyernET18vSLpD4IeXOeaqF8nw4oIx+fLl1S/Loa9hNcldnwRhGG/Znz13nkxWfTu8eAaDfkT5cmW18LtDp66ycdMmodDYmgt4Hi8BvEyFPiD6gk5tpp9yhrBEExrDjlddjvtB+iUYv0yaMlV27NgZbiPgF4QiaJvxkqQxpr1AH9UuNIYdCLXU7vl67Dpvzkz9Mgmu++3vR6tT/fqHMMTS7gRpx834NREiE8MX4bUKfoO0C/DDapA30HYuUi/r4BwGIru6tWvLow3ri/rakWzfviPiuVb31vMg45+gfdNo6RYP/yD5yMoB50G5xhNuCMIHvTQkop+K+RWMm6ur+ZXSZcrHLDQOkpZ2BtbfQeoguPcrNE4u7iYufvptxg3GHYOHDtdzQuiXwaCuxHi0R7fHk8y7+Z1zMs+xHt3ykVtdYtx69e1hJ1q5g50g9SXc2U2QPBhv/BB/9WUxLco34cGYuXvXLnpeBC/Du411jX3rMbnHt4nIKwhvLOn68SefyJChI/T40MQR4+CO7dvpl4TNNXPEPI/a0Vv/nKxebMRLrX7M2RAaIzyJqO9NvGLp38Fuk+YtBXNk9g02cA9z/w0aNdHzYD17dJMa1arisqPxO19r6oWgcxp+8wAC7TWn4XdOJuj8QrzlMEidZlgnog/omPi8SAIkQAIkQAIkQAIkQAIkQAIkQALnOAEKjbmj8TmexZM/elgswS686nNzcpWa5I62q59XiCDG3bZ9u96ZFrtOQpSUSIPdMLZu26Z3ZrhaCZWxgBLNYKfT/fv2yxVqd8g8V16pd/uM5sbvfUzWIt7//vOvXK2EgdYdI+x+Yadl7FSCHf6su+xa7fnlCNETJiezZM0iBa+91pE7Foq379ihxcYQMUKMmVIMxKY7d+4SiLohTsqpdtF021nDGmbkXewqDXHB6JHDlPAtkxKy/qYm80WLuXcpsePyFa9p3thtdoHaYdrJYMFo7569StCQW668MndM+crJn1iu+ckrsfi3T+Vt9QlPle7X6F2MYnHjlQcxSY4F+ZtvusmRw8RJk7WozEnYEsuzrXawWL158xa962PevHmstxzPvcKNPISww871apHJb90Tb7rg+RD6oY7Cjl5mh3XHiLhcxGLnDlUOrrn6qpjTEgtXiPdRJTa89ppr9S7eLt7HfdkPI+wqn+2ybI677ccdkDg8QJ2xd98+tWPYT/pFAvsLL3F47eo0ljbILBSNGzNSbilRQi+YbVGLg9gRNZayYR4epI2M1n5ggU59ZlW1u1lV/ZwvUN6G6BYLleedl07nU6820sQllmPQcocXVFBeT548pXfNzJkzRyyPC9uBEA1tbm7Vr7hS9Su82iu/bS/EuuCdIUN6vcNWLP0cBEx94ljtiH6BdhMOqOXEb1/Pb7qjLkJ7hN2d8YIEhAFeJjnrk6AMvcIb7R747lR5AovdxVQbYP2aRTS3vE8CQQigblmnvmKQL3++sKjW7o+fcmZ36/Q7lro8SL8E/cFtW7fpR+ZX/XV8cSU5jJ/+frQ6FeHz41+s7U6Qdjw5WDn56bddsPtx7NjP+mUvvMjpp29j9we/g4x/gvRNY003pzDGes1PPnLyM5Fcnfx3uoa6BXMy2I31avWiq1c/yMm99VqQtLS6t58HqYPsfsTyO7m5++23IcxoFzCncvr307o/iBfWvIzfOScvvxJ5L9Zyl6j6MtF5MBYWmLPYvmO7/vIaviATjzkb49tE5JVY0xVzUbvUy9p51Y7pudTXybwM6k/UP9YNArzs/9f34q3vTfgT3b8z/rodMeaOZb42UXMafvKACXO0OY1Y5mTgV9D5hUSUw0TVaYYJjyRAAiRAAiRAAiRAAiRAAiRAAiRAAu4EKDSm0Ng9d/AOCZDAOU0An9zFri9t27QS88l6e4Q3b9kiTZq11MLTD95721E8a3fD384EIN6qVbe+2kHvuN6VGMJ9GhKwE4CgFDsmt27ZQu8kbb/P30kJmEU5tx1pkrrgFRJIGwRYn6SNdGYsSYAESCA5CbAtSU669JsESIAESIAERH9pDoJezmkwN5AACZAACZAACZAACZAACZAACZAACaR0AhQaU2ic0vMow0cCJJBMBF6ePEWmTpshfXr1kKpVKjs+5fMvvpQuj3eX4sVvlJfHj3W0w4uxEZgwcZJMnzlLSt9/n+BziDQkYCew7tv18sSTT8nFWbPKpInjXHdtt7tL678pNE7rOYDxdyLA+sSJCq+RAAmQAAn4IcC2xA8t2iUBEiABEiCBYAQ4pxGMG12RAAmQAAmQAAmQAAmQAAmQAAmQAAmcfQIUGlNofPZzHZ9IAiSQIgh88uln0q1HL/1JxacH9JfrrisW8bnyzz7/XAY+87ycOnVKhrz0otx15x0pItypKRBr166Tnbt3yxtvrpING76TLFkuktkzp7t+pjs1xY1hTTyBmrXryQ03XC+9lfg/04UXJv4B56iPXJQ7RxOW0YqLAOuTuPDRMQmQAAmQgCLAtoTZgARIgARIgASSnwDnNJKfMZ9AAiRAAiRAAiRAAiRAAiRAAiRAAiSQGAIUGlNonJicRF9IgARSJYGhw0fKwkWLddgzZswoxYoWkQwXXCB7du+Rnw4dkpw5c8jjXTrrXXhTZQT/40B37tpNvvjyKx2KXLlyCQTd2B2ahgScCOzZu1fy58vndIvXPAhwUc4DDm+lWQKsT9Js0jPiJEACJJAwAmxLEoaSHpEACZAACZCAKwHOabii4Q0SIAESIAESIAESIAESIAESIAESIIEURoBCYwqNU1iWZHBIgATONoEtW36QN1atkr1798mxYz/LpZdeKnny5JbrihWTcmXLSIYMGc52kM6Z5339zZr/Y+9M4G4q/j/+JUJFSaSsLUja96KdpOz7UrITohLaLUlIZSuJhMhWWVNKUSrtpMheWVJIhPj/lOc/n9Hczj3PWe49d3nufZ7PeHnOuefM+p7vfGfOzPfM0VzLlCmleebnLrXZpm5ZkNQhgN3XDx48JBdfdKEULlw4dTLGnJAACZAACZAACZAACZAACZAACZAACZCABwHOaXjA4S0SIAESIAESIAESIAESIAESIAESIIGUIkBDYxoap5RAMjMkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKpQYCGxjQ0Tg1JZC5IgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARSigANjWlonFICycyQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmkBgEaGtPQODUkkbkgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJIKQI0NKahcUoJJDNDAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQGgRoaExD49SQROaCBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggpQjQ0JiGxiklkMwMCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAahCgoTENjVNDEpkLEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBlCJAQ2MaGqeUQDIzJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACqUGAhsY0NE4NSUyhXHz40VJZs3atXHLxxXL5ZZeG5czrXpjHFPqxbv16WbzkQzmteHGpXatmwnM2dfoM+fPPP6Xm7bdJidNPT3h6qZhAOspJvDhOmz5T9v65V26tfouUKV06XtHGHA/lMmaEjCBGAqnaNvyKFe8+JBH6Md559GPC+/4EWCf+jHKij717/5QJEyfJ2nXr5e9//paK51SQe7vdI7ly5cqJOFjmFCeQFXosEX1kimNm9kggjEBWtLuwDCToB9t2gsA6RJtdZcihqGGXgsx3GFYlS5SQ22+rERZfKvzYv/+ATJk6VWelQ7u2aTleTIW2H0Q2/Oo/EXH6pRnr/ewgT7Ey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gARIgARIgARIgARIgARIIDUJ0NCYhsapKZnMFQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQJYSoKExDY2zVACZOAmQAAkz1Q3IAABAAElEQVSQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQGoSoKExDY1TUzKZKxIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggSwlQENjGhpnqQAycRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggdQkQENjGhqnpmQyVyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAllKgIbGNDTOUgFk4iRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAqlJgIbGNDROTclkrkiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABLKUAA2NaWicpQLIxEmABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABFKTAA2NaWicmpLJXJEACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACWQpARoa09A4SwWQiZMACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACaQmARoa09A4NSUzC3O1bv16WbzkQzmteHGpXatm1Dn58KOlsmbtWrnk4ovl8ssujTp8qgeIlY+9fMnkNXX6DPnzzz+l5u23SYnTT7dnJct+f7T0Y/lhzRq58IIL5Korr8iyfOSkhIPIgpH9kiVKyO231UgYriB5S1hmGHG2JpBM/ZuVIE3bDdKvUz/Hr+ZiqYf45YIxpSqB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D3l+9BiZ/9YCufyyS+W5Z54Om68y/ngkARJIPgEaGiePOQ2Nk8eaKZEACZAACZAACZAACZAACZAACZAACURGgIbGNDSOTFJSwBcM7E4uXFiOPfbYFMhN9sjCM88Nl5mvH909Jl++fFLxnAqSV/Hd/PNmwQ7SxYoVVTumdpcbrr8upQo88dXJMvrFl3Se8ufPL/d26yp169ROqTwyMyQQTwLY8ala9dvk4KFDOtqLL75IvyBQtGjReCbDuEiABEiABNKIwKL3P5A+/Z7QL1zlzp1bzjrzTD12++WX7fpT5AXUGKlF82bSrm3rNCoVs0oCJEACJEACJJCqBOL5XPrjTz9Jl3u6y+7df+jinnZacT2W2bXrd9m4aZMe39x4w/WCF6qOO+64VEXCfJFAjiNAQ+PkVTkNjZPHmimRAAmQAAmQAAmQAAmQAAmQAAmQAAlERoCGxjQ0jkxS6CvbEli7dp28vXChbNmyVS/wnHTSSVKixGlybsWKUq3qzZI3b96UKzsWpFasWClFixaR8ypVEuSZjgSyM4HDhw/LR0s/lr/++kvKlTtbypcrJzAqoyMBEiABEsjZBHbu3Cnz5i/QX/3YuXOX5M+fT0qcfrqccUZZua1GDTnxxEI5GxBLTwIkQAIkQAIkEDcC8X4uPXjwoLz73iL56utvZNeuXQJD5tNPP01Kligpt1SrKmXKlI5b3hkRCZBAfAhgJ/Lt23+VsmXLyJlnnBGfSBmLIwF8bfDgwUNy8UUXSmG1+QodCZAACZAACZAACZAACZAACZAACZAACWQ1ARoa09A4q2WQ6ZMACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACaQgARoa09A4BcWSWSIBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEshqAjQ0pqFxVssg0ycBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEkhBAjQ0pqFxCools0QCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJJDVBGhoTEPjrJZBpk8CJEAC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CCCAAAIIIIAAAggggAACCCCAAAIIJKoAQWOCxonaANk4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEB4ChA0Jmgcni2TWiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIJKoAQWOCxonaANk4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEB4ChA0Jmgcni2TWiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIJKoAQWOCxonaANk4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEB4ChA0Jmgcni2TWiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIJKoAQWOCxonaANk4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEB4ChA0Jmgcni2TWiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIJKoAQWOCxonaANk4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEB4ChA0Jmgcni2TWiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIJKoAQWOCxonaANk4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEB4ChA0Jmgcni2TWiWowOw5H+nUqVOq+Pxzyp0rV4JuO743tmbt19r8558qVbKkyt13b3xvjvIRQAABBBBAAAEEEEAAAW3dtk2rVn+lnDlyqHKliogggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggELECBI0JGkds46XicSdQvWZt/X3ggEaPHK57ypaJu4LDoKR+/Qdq0eIlqle3ttq1aR0GNaIKCCCAAAIIIIAAAgggEAkC586f1+VLl4KuaooUKZQmTRp7+aXLPlOvPv3sGx4njh8TdBksiAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEC4CRA0Jmgcbm2S+iSCAEHjREBnkwgggAACCCCAAAIIIBDWAs1atNKGDX8EXcf7y5fTsCGD7OUJGgfNxoIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJhLkDQmKBxmDdRqpcQAgSNE0KZbSCAAAIIIIAAAggggEAkCQwaMkw7duz0qPLefft0/PhxZc2aVblz5fKYd+cdt6tN65b2NILGHjSMIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIRLAAQWOCxhHcfKl6XAkQNI4rScpBAAEEEEAAAQQQQACBpCzQu29/LVm6THVq11KHdm397ipBY780zEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEIgwAYLGBI0jrMlS3fgQSMpB4wGDhmjBwkWqV7e22rVpHR98lIkAAggggAACCCCAAALXiUBsg8Z3lSqpCePGXCc67CYCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBSFCBoTNA4Ytv1uXPnZB5la4b27doo4803+9yXEaNG6+TJU2rauKFy587tWuby5cuaN3+Bvvvue23bvkM5bsmu2267VY0aNohWllnflHPbrSVUq2YNbdmyVfOt8Or33/+g++67Vx3at9Vgqy5XrlyxwqytlClTJtd23F+MGTteR48di1YX92XM60WfLta69b+p+StN7bp8/Ml8/fzzL9qxc5cKFSygsmXLqH7dOkqePLn3qrp06ZJWfrFK639br61bt+vQoUPKly+fHnywguq8UEvJkiWLtk6goHFsrKIV/v8TnH1q2fwVyyejHf79fMVK+9j06vm2ShQv7lp19+49+vCjudq4cZPOnDmjYsWK6sknHtfjjz3qWsb7xaZNm/XJgoXasOEPJUueTLffeqtefLGeFi1arNlzPiJo7A3GOAIIIIAAAggggAACESIQyjlOfO1abIPG91jnbqNHDtdvv/+uFSu/0E/WeZ05J7vj9tvVtnUr3XzzTX6r+q11rrrss+Uy5zpp0qRWceucyZzTmfMjBgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQSSoCgMUHjhGpr8bKdpq+01B8bN+rNzq+rapXK0baxZ+9e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y803yd69++TjNZ9IJPKvZM2SVZTArIwcPlRuvOH6qDslVCJKAEry5s0rHdq1kTvvuD36Lkzaoo4tN0G5KmEgeejRctrl4oULJFeunFFfZs6aI0qrpf7dqWN7qV61SvSd082RI7+KWtwTJQQpN990o1x+eT4588wztdVzzj5HLr44h1xzzTVydfGros5nz5knQ4ePkLPOOktzKH7VVQKuaxTDggULyo4dO+S48u/jD9+TzJkzR90pIUvZu2+fjBg2RG668Yboc9woQXN5olETyZY1q7y1clmCd/gxbMQomTV7jk4P0mUM8k+lKtX1T3t4eAg3cHvP3XdJ/xf7GmfRK8JE2C/27S333XtP9HnXp56WDz5cJdmzZ5d777lb5dlLZN26L+WLtetUvrlO1q5bJ9ddW0rGvDIy6sYvLsYi8jTyNsyFF16gGN4h3377nSoDO6VVy+YCvgcPHkzAr1WbdjpslJ3bbrlZihYtKjuV/fc//FAOHPhJHn7oQenZ4zkThOM1aPyUMLWo4+Z1nihatIjcfOONctFFF+lyoYST5PzzzpM5s6ZH80kYVoig0t4sSmhFlEZjKVAgv84TyHtr134pSoBPl81hQwZH0+KVf2BJaZGTHw8ckNGjRuiyHXVou8E3bNOugyrvER3mNdeUkGzZsokS0hSlZVqna9KEcVKo0JVRl7EwQZ1Us049UUL/Mn7MK1Ky5DVRfz759DNRi+hywQUXyJyZ0zRXvER9VK1GbV0+8PuG60tLVlUW1AKD5L70Urn33rtl0uSpierCsGWx34v9ZfGSpbrMt23dSgoXLoRgXU1qqouPHftNKlSuqut+sHnkkYfll19+kSaNGsgll1yi0xCmjMGhXzphRwmh6Hx7balSMnb0qfKPdzAtWrURJSgj559/vjyq4obycoNqS25V5dZqUOeWq1hZkB6YSa+OE9SlsRjUue07ddF1MfIz6s7zzj036oXSxqrLMupqJcghy5cs1nVO1IK68asXlECOVK1eSzJlyiSrV71vdarb83i362pBXpSgkzRt0kgaN2yQIDynH0HyQ9i6A8zA9zNVDs855xy5/7575UrVpzh29Jh8+913ojYkydPdu0mFcmWdoiZKe7kuw3jZplVLqVunlqM9p4d+edGNU9g6wcThqaeflffe/0DOU/n2QlVPLVwwV397895ck8rG+BOmDwK3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EfI500gCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJBAjAQoaU9A4xixD6yRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAhmBAAWNKWicEfI500gCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJBAjAQoaU9A4xixD6yRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAhmBAAWNKWicEfI500gCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJBAjAQoaU9A4xixD6yRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAhmBAAWNKWicEfI503iaCGzeskXefe99yZM7t1QoX+40hXp6g3n/gw9l46ZNcn3p0nLTjTec3sAdQnvv/Q/krbffkX379kmOHBdL3Tq1pPR11zrY5KO0SsArz82aM1d+/fVXKVf2Mcl72WVpNYlpPt5bt26TF3r3kb69ekqBAvnTfHqYABLIaAQOHz4s3Z5+VurVrSN33XlHqkv+sWO/yYxZs3S8nmzSWDJlypTq4sgIkUC8CKT3vk1qK89Hjvwqk6dMlU2bt8jf//wtxa8qJu3btmE9E68MTX9IIACBEydOSKMmzaRxowZy7z13B3BBKyRAAumBQJ9+L8mFF14gbVq1TA/JcUzD7Dnz5MivR+SRhx+SAvnT1lxJeu+TOn6wZHqYEdYLkgkdvSUBEiABEiABEiABEiABEiABEiCBVEeAgsYUNE51mZIRSrsEli1fIb369JNrS5WSsaNHpt2EeMQcCwFLli6Thg3qS7OmTTxsJv+reQtek8EvD9UBnXnmmfL333/L0MED5dZbb0n+wBlCXAms+ugjGThoiFxzTQnp27tnAr+98lyVajVlrxIyHzFsSALBdzzr0q27IF8MHthfLrn44gR+8kd8CbzQq49AIHzJotckS5Ys8fWc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/brt1lvtUVBl7FwpcfXViZ6n5AMzjxpLW5yS8Y01bAoax0osfdo3+fzaUqVk7OiRKZLI9NBnSBFwDJQESIAESIAESIAESIAESIAESIAEbAQoaBxnQePDhw/bEPMnCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACSQ/gXgrTaCgMQWNkz/XMgQSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFkJ0BB4zgh3rRpk/apJAWN40SU3pAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACaQkAQoax4k+BY3jBJLekAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJpAoCFDSO02dILkHjOEWP3pAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAihLYsGGDDr9YsWJxiUemP//8MxIXn5LZEwoaJzNgek8CJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJJCmCVDQuGTJNP0BGXkSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSA4CFDSmoHFy5Cv6SQIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkMYJUNCYgsZpPAsz+iRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAslBgILGFDROjnxFP0mABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABNI4AQoaU9A4jWdhRp8ESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESCA5CFDQmILGyZGv6CcJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEAaJ0BBYwoap/EszOiTAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAkkBwEKGlPQODnyFf0kARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJI4wQoaExB4zSehRl9EiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCB5CBAQWMKGidHvqKfJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACaZwABY0paJzGszCjTwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkBwEKGhMQePkyFf0kwRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIII0ToKBxOhc0PnbsN5kxa5ac+OuEY1bNlCmT3HXnHVKqVEnH93xIAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQMQlQ0DidCxqvXrNGOnTqKhdfnEPOOOOMRLn88OFf5I7bb5OX+vVJ9I4PSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEMi4BChqnc0Hjj1evkY6du8qCubMkb968iXJ6y9bt5IILslHQOBEZPiABEiABEiABEiABEiABEiABEiABEkiNBP799185duyYnHnmmXL++eenxigyTorAkSO/yuQpU2XT5i3y9z9/S/Grikn7tm0Ep2vRkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJpAyB9z/4UDZu2iTXly4tN914Q8pEgqGSQColsHnLFnn3vfcl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kU0igAACCCCAAAIIIIAAAggggAACEQkQNE6YqVFcM9tpaR7B6Tfjxq+/seHbosVe8GhIN7Fh06Zv7fx6seKjjz/xm10v6BR99nm7ncBpOuOFCBrrdlxwWi9a+Q7depytRqEVnhkQQAABBBBAAAEEEEAAAQQQQODSFUgonBdKxVURrl6rjufPP/+0s5w+fdpT5uUKth/EhY/dsi70q/0kgU9V0qxO5arV7XKBYWFd/vUZs+w0DaYFhtXmzJtvp2no9scff3Sbs69um+HCc27mfgPOPvmqSbMWblSirxow1vCfhm59h5MnT3pcKE+n+waNfz52zNOtRy/Pvv37fRexFYFfrlDJrm/J0mV+00J90ArCevO8rv+Z517024bOr9+Hmmlou12HTnYVejO9zq83ouuT3n1vRtf5tThjuQqV7TwJVRItX6mKnUfDkro+DQVeqOFc9tu1rVWbdra9zVu18Wiw2A1aKdlVa61Vt773WHbTBw05GwAfNSa4erSOUwN18w0wayDbVbTW6Sk5aKym2i/41dq1bpe9r/pb1Pb38Qnw62+sQaM426epVXB9hy+/WuvRAK/v/G56z9597bR16ze4UVF7TehcptV8i71Qwu5XYMVo/Q3ob0arHn/8yadB7fvxyBGP/nNDUu303OCOC63a686bbn16/tRjJ3Bwv8vzCUAnFjTWY1S/a31yn+/3qvuoRTRctedwQWM9ry9f4f+0PL/zeojCrpWqnD3nr169JnCXPe7mj9Zt2wdVYNY2bd68JWiZlDYiuYPGqfSkLTEwbN682bYyT548MdBamogAAggggAACCCCAAAIIIIAAAgggoALx8fGydetWueeee6RWrVqgBAiYx1JKi1Zt5KeffpYnCz8hDzyQVw4dOiRvLVikTyKTrp07yosvPB+wVOiP4yZMlKmvTZPLLrtMCjz6iOTMmVN27doln3y6Wsyj96RkieLSqUO7oIUbNWkm69atT9K2TFUgOW3ap4O203SsSqpUqSRPnvu9669csYLdJzdi3759ots6fPhHefSRhyWf2dev1q4Tc7FLst5+u4wZPVIyZczoZucVAQQQQAABBBBAAAEEEEAAAQQuMQFTgdf2kdyUObNceeWVYfd+0MB+tg+hQuVqYkKHEj9ujF+fxGeffyGmwrBce+21MnvmdLn++uvtukyAVnr1eUVSp04tJmAn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AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIEYFCBoTNI7RQ5dmI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAghEU4CgMUHjaB5frBsBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIEYFCBoTNI7RQ5dmI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAghEU+CSDRpv2bJFPB6P3HfffXLZZZdF05h1I4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEFMCf/31l2zatElSpUoluXLlSpa2pzpz5ownWdYU5ZXs3r1bTp8+LdmyZZNrr702yltj9QgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCMSOwPHjx0XztldeeaXN2yZHy2MmaHz06FE5cuSIpEuXTrJnz05V4+T49lkHAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDMC2g14x07dsipU6ckU6ZMkjFjxmTZp5gJGuveuqrGGjbOnDmzpE+fnsBxshwGrAQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAINYENGB88uRJOXz4sA0ZJ2c1Y7WIqaDxH3/8Ifv375fTp0/H2vdIexFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEIiagIaMb7nlFkmbNm2ybSOmgsZur48ePWrT12fOnBGPx+NG84oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggMAlI5AqVSq54oorJH369JIxY8Zk3++YDBonuwIrRAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAE/AYLGfhx8QAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEVIGjMcYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACQQIEjYNIGIEAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBI05BhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgSICgcRAJIxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAoDHHAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggECRA0DiJhBAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggQNOYYQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEgAYLGQSSMQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAGCxhwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAkQNA4iIQRCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIEDQmGMAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBIIECBoHkTACAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgacwwggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQJAAQeMgEkYggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAEFjjgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQCBIgaBxEwggEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ+B8g7sK6jFihxQAAAABJRU5ErkJggg==)"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "## 📈 Track key information effortlessly by default\n",
+ "Weights & Biases saves a new run for each experiment. Here's the information that gets saved by default:\n",
+ "- **Hyperparameters**: Settings for your model are saved in Config\n",
+ "- **Model Metrics**: Time series data of metrics streaming in are saved in Log\n",
+ "- **Terminal Logs**: Command line outputs are saved and available in a tab\n",
+ "- **System Metrics**: GPU and CPU utilization, memory, temperature etc.\n"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "\n",
+ "## 🤓 Learn more!\n",
+ "- [Documentation](https://docs.wandb.com/huggingface): docs on the Weights & Biases and Hugging Face integration\n",
+ "- [Videos](http://wandb.me/youtube): tutorials, interviews with practitioners, and more on our YouTube channel\n",
+ "- Contact: Message us at contact@wandb.com with questions "
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "include_colab_link": true,
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/colabs/huggingface/Huggingface_wandb.ipynb b/colabs/huggingface/Huggingface_wandb.ipynb
index 4ff85657..bdf21058 100644
--- a/colabs/huggingface/Huggingface_wandb.ipynb
+++ b/colabs/huggingface/Huggingface_wandb.ipynb
@@ -126,7 +126,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/huggingface/Optimize_Hugging_Face_models_with_Weights_&_Biases.ipynb b/colabs/huggingface/Optimize_Hugging_Face_models_with_Weights_&_Biases.ipynb
index e950b3d4..4b186151 100644
--- a/colabs/huggingface/Optimize_Hugging_Face_models_with_Weights_&_Biases.ipynb
+++ b/colabs/huggingface/Optimize_Hugging_Face_models_with_Weights_&_Biases.ipynb
@@ -109,8 +109,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/huggingface/Simple_accelerate_integration_wandb.ipynb b/colabs/huggingface/Simple_accelerate_integration_wandb.ipynb
index b371a500..5898e68c 100644
--- a/colabs/huggingface/Simple_accelerate_integration_wandb.ipynb
+++ b/colabs/huggingface/Simple_accelerate_integration_wandb.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "205e453e",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "cadda531-5f7b-4793-876b-dceedec26cc5",
+ "id": "fe7c4702",
"metadata": {},
"source": [
"# Using Huggingface Accelerate with Weights and Biases\n",
@@ -20,7 +21,7 @@
},
{
"cell_type": "markdown",
- "id": "c5ccfcf6-5d99-474c-a58e-77783906efb4",
+ "id": "04b2cd3c",
"metadata": {},
"source": [
"[Accelerate](https://github.com/huggingface/accelerate) is this amazing little framework that simplifies your PyTorch training scripts enabling you to train with all the tricks out there!\n",
@@ -68,7 +69,7 @@
},
{
"cell_type": "markdown",
- "id": "02aa793a-f2d3-468c-823e-492d2bebe4b7",
+ "id": "179d31c1",
"metadata": {},
"source": [
"## Training and Image Classifier"
@@ -77,7 +78,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "6c83e24e-ad59-4038-8a4b-67f6dcce94cb",
+ "id": "1a080fa1",
"metadata": {},
"outputs": [],
"source": [
@@ -87,7 +88,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "90dc4bba-0181-4a8b-bfc5-6ae87a3c07a4",
+ "id": "a62d276f",
"metadata": {},
"outputs": [],
"source": [
@@ -111,7 +112,7 @@
},
{
"cell_type": "markdown",
- "id": "8760c536-636b-4cd9-b244-3bb61254ebd6",
+ "id": "6f2923f8",
"metadata": {},
"source": [
"Store your configuration parameters"
@@ -120,7 +121,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "0afbcd78-f3f8-4cfc-a89c-5e3767d16e94",
+ "id": "f2e5118b",
"metadata": {},
"outputs": [],
"source": [
@@ -137,7 +138,7 @@
},
{
"cell_type": "markdown",
- "id": "0370911f-7e69-43d3-93ec-50ed271c9ae6",
+ "id": "6e038818",
"metadata": {},
"source": [
"setup transforms"
@@ -146,7 +147,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "8a68787b-43a7-459c-97b8-6b483291a821",
+ "id": "8424eb9a",
"metadata": {},
"outputs": [],
"source": [
@@ -159,7 +160,7 @@
},
{
"cell_type": "markdown",
- "id": "fed9579d-244c-47ee-9131-51d9ef7aa069",
+ "id": "43a359aa",
"metadata": {},
"source": [
"Create a simple CNN"
@@ -168,7 +169,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "aead4006-6a4e-4009-b9b8-776d1ca1bf62",
+ "id": "3e903bb8",
"metadata": {},
"outputs": [],
"source": [
@@ -188,7 +189,7 @@
},
{
"cell_type": "markdown",
- "id": "ac8f89dd-4e18-4644-9d6a-b7ae7a5447a9",
+ "id": "d07a7cf2",
"metadata": {},
"source": [
"Wrap everything into a training functions (this is necessary to run on multiple GPUS, if it is only one, you can skip the wrapping)"
@@ -197,7 +198,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "26cbaf18-655c-4a35-8060-8c25eb7f27fc",
+ "id": "78346075",
"metadata": {},
"outputs": [],
"source": [
@@ -250,7 +251,7 @@
},
{
"cell_type": "markdown",
- "id": "e6227c06-2365-4386-9250-e1c22ac84bec",
+ "id": "2e162db1",
"metadata": {},
"source": [
"Let's train on 2 GPUs! This is really nice, as accelerate will take care of only calling `log` on the main process, so only one run get's created, so no need to manually check the rank of the process when using multiple GPUs."
@@ -259,7 +260,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "028f7217-9a0f-4881-9219-38f1a65dbf53",
+ "id": "027b2d42",
"metadata": {},
"outputs": [],
"source": [
diff --git a/colabs/huggingface/Visualize_your_Hugging_Face_data_with_Weights_&_Biases.ipynb b/colabs/huggingface/Visualize_your_Hugging_Face_data_with_Weights_&_Biases.ipynb
deleted file mode 100644
index 6be6becf..00000000
--- a/colabs/huggingface/Visualize_your_Hugging_Face_data_with_Weights_&_Biases.ipynb
+++ /dev/null
@@ -1,556 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "\n",
- "\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Visualize your 🤗 Hugging Face data with 🏋♀️ Weights & Biases "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "[Hugging Face](https://huggingface.co/) provides tools to quickly train neural networks for NLP (Natural Language Processing) on any task (classification, translation, question answering, etc) and any dataset with PyTorch and TensorFlow 2.0.\n",
- "\n",
- "Coupled with [Weights & Biases integration](https://docs.wandb.ai/integrations/huggingface), you can quickly train and monitor models for full traceability and reproducibility without any extra line of code! You just need to install the library, sign in, and your experiments will automatically be logged:\n",
- "\n",
- "```bash\n",
- "pip install wandb\n",
- "wandb login\n",
- "```\n",
- "\n",
- "**Note**: To enable logging to W&B, set `report_to` to `wandb` in your `TrainingArguments` or script."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 🛠️ Installation and set-up"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "!pip install -qU transformers datasets wandb"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import wandb\n",
- "wandb.login()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 🛫 Data and model preparation"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### 🏷️ Loading a dataset"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We'll download the\n",
- "[Yahoo! Answers Dataset](https://paperswithcode.com/sota/text-classification-on-yahoo-answers),\n",
- "which includes questions and answers from the now-defunct\n",
- "[Yahoo! Answers forum](https://en.wikipedia.org/wiki/Yahoo!_Answers)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from datasets import load_dataset\n",
- "dataset = load_dataset(\"yahoo_answers_topics\")\n",
- "dataset"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Data includes question titles, question bodies and best answers (for some questions), and a question topic from one of 10 choices."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "dataset['train'][0]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For our text classification task, we use `question_title` as input and try to predict `topic`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "label_list = dataset['train'].unique('topic')\n",
- "label_list.sort()\n",
- "label_list"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "num_labels = len(label_list)\n",
- "num_labels"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The \"topic\" class needs to be renamed to \"labels\" for the `Trainer` to find it."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "dataset = dataset.rename_column('topic', 'labels')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For the purpose of this demo, we'll decrease the size of the dataset for faster training."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "dataset['train'] = dataset['train'].select(range(dataset['train'].num_rows // 10))\n",
- "dataset['test'] = dataset['test'].select(range(dataset['test'].num_rows // 10))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### ⚙️ Tokenizing the dataset"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In a typical NLP workflow, we must first tokenize our dataset -- converting the stream of characters in the text into a stream of defined \"tokens\", which can be anything from a smaller set of characters to words from a vocabulary.\n",
- "\n",
- "We will use a pretrained model for our , so we inherit its tokenization scheme.\n",
- "Hugging Face makes this easy with the `AutoTokenizer`:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from transformers import AutoTokenizer\n",
- "\n",
- "tokenizer = AutoTokenizer.from_pretrained('distilbert-base-uncased')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "sample_input = dataset['train'][0]['question_title']\n",
- "print(sample_input, \"\\n\", tokenizer(sample_input))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We then map the tokenizer over our dataset:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "dataset = dataset.map(lambda x: tokenizer(x['question_title'], truncation=True), batched=True)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### ✨ Loading a model"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In this case, we are loading a pre-trained network to which a custom head has been added for sequence classification.\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from transformers import AutoModelForSequenceClassification\n",
- "\n",
- "model = AutoModelForSequenceClassification.from_pretrained('distilbert-base-uncased', num_labels=num_labels)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "Let's make a function to return the topic prediction from a sample question."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import torch\n",
- "\n",
- "def get_topic(sentence, tokenize=tokenizer, model=model):\n",
- " # tokenize the input\n",
- " inputs = tokenizer(sentence, return_tensors='pt')\n",
- " # ensure model and inputs are on the same device (GPU)\n",
- " inputs = {name: tensor.cuda() for name, tensor in inputs.items()}\n",
- " model = model.cuda()\n",
- " # get prediction - 10 classes \"probabilities\" (not really true because they still need to be normalized)\n",
- " with torch.no_grad():\n",
- " predictions = model(**inputs)[0].cpu().numpy()\n",
- " # get the top prediction class and convert it to its associated label\n",
- " top_prediction = predictions.argmax().item()\n",
- " return dataset['train'].features['labels'].int2str(top_prediction)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can test our prediction pipeline on a sample sentence."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "get_topic('Why is cheese so much better with wine?')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "When we ran our model, we got the answer `Politics & Government`,\n",
- "which doesn't seem quite right for a question about cheese and wine.\n",
- "\n",
- "That's because the model has not been trained yet so the outputs are still random. But at least we have a working pipeline!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 📊 Log your data for better visualization\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Before we train our model, let's set up some better logging during training.\n",
- "\n",
- "Without the ability to inspect model behavior, it can be hard to debug or understand models.\n",
- "So we'll log a table of information about the model's behavior on the validation set --\n",
- "not just the loss or accuracy, but the inputs and outputs as well.\n",
- "\n",
- "Our data is already in a pandas `DataFrame`, so there's not much we have to do besides\n",
- "slightly reformat them\n",
- "and then use them to define a `ValidationDataLogger` instance."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from wandb.sdk.integration_utils.data_logging import ValidationDataLogger"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "validation_inputs = dataset['test'].remove_columns(['labels', 'attention_mask', 'input_ids'])\n",
- "validation_targets = [dataset['test'].features['labels'].int2str(x) for x in dataset['test']['labels']]\n",
- "\n",
- "validation_inputs[0], validation_targets[0]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "validation_logger = ValidationDataLogger(\n",
- " inputs = validation_inputs[:],\n",
- " targets = validation_targets\n",
- ")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can now log our predictions for visualization with `validation_logger.log_predictions(prediction_labels)`."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 👟 Training the model and logging to W&B\n",
- "\n",
- "We are now ready to fine-tune the model to solve our task.\n",
- "\n",
- "The Hugging Face [`Trainer` class](https://huggingface.co/transformers/main_classes/trainer.html)\n",
- "lets us easily train a model and is very flexible.\n",
- "\n",
- "**Note:** set `report_to` to `wandb` in `TrainingArguments` to enable logging through W&B."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from transformers import Trainer, TrainingArguments\n",
- "\n",
- "args = TrainingArguments(\n",
- " report_to='wandb', # enable logging to W&B\n",
- " output_dir='topic_classification', # set output directory\n",
- " overwrite_output_dir=True,\n",
- " evaluation_strategy='steps', # check evaluation metrics on a given # of steps\n",
- " learning_rate=5e-5, # we can customize learning rate\n",
- " max_steps=1000,\n",
- " logging_steps=100, # we will log every 100 steps\n",
- " eval_steps=500, # we will perform evaluation every 1000 steps\n",
- " eval_accumulation_steps=1, # report evaluation results after each step\n",
- " load_best_model_at_end=True,\n",
- " metric_for_best_model='accuracy',\n",
- " run_name='my_training_run' # name of the W&B run\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# automatically log model to W&B at the end\n",
- "%env WANDB_LOG_MODEL=true"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For more customization, refer to [`TrainingArguments` documentation](https://huggingface.co/transformers/main_classes/trainer.html#transformers.TrainingArguments)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can optionally define metrics to calculate in addition to the loss through the `compute_metrics` function.\n",
- "\n",
- "Several [metrics](https://huggingface.co/metrics) are readily available from the datasets library to monitor model performance.\n",
- "\n",
- "We'll also use it to log all of our predictions at each evaluation loop,\n",
- "using the `validation_logger`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from datasets import load_metric\n",
- "import numpy as np\n",
- "\n",
- "accuracy_metric = load_metric(\"accuracy\")\n",
- "\n",
- "def compute_metrics(eval_pred):\n",
- " predictions, labels = eval_pred\n",
- " predictions = np.argmax(predictions, axis=1)\n",
- "\n",
- " # convert predictions from class (0, 1, 2…) to label (Health, Science…)\n",
- " prediction_labels = [dataset['test'].features['labels'].int2str(x.item())\n",
- " for x in predictions]\n",
- " \n",
- " # log predictions\n",
- " validation_logger.log_predictions(prediction_labels)\n",
- "\n",
- " # metrics from the datasets library have a compute method\n",
- " return accuracy_metric.compute(predictions=predictions, references=labels)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The `Trainer` handles all the training & evaluation logic."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "trainer = Trainer(\n",
- " model=model, # model to be trained\n",
- " args=args, # training args\n",
- " train_dataset=dataset['train'],\n",
- " eval_dataset=dataset['test'],\n",
- " tokenizer=tokenizer, # for padding batched data\n",
- " compute_metrics=compute_metrics # for custom metrics\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "trainer.train()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can now easily observe your predictions live in your run dashboard!\n",
- "\n",
- "![image.png](data:image/png;base64,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BEAABEAABEAABEAABEAABEAABMYVATg3x1V1ojAgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMHEIwLk5ceoaJQUBEAABEAABEAABEAABEAABEAABEAABEACBcUUAzs1xVZ0oDAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhMHAJwbk6cukZJQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGBcEYBzc1xVJwoDAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhOHAJybE6euUVIQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGFcE4NwcV9WJwoAACIAACIAACIAACIAACIAACIAACIAACIDAxCEA5+bEqWuUFARAAARAAARAAARAAARAAARAAARAAARAAATGFQE4N8dVdaIwIAACIAACIAACIAACIAACIAACIAACIAACIDBxCMC5OXHqGiUFARAAARAAARAAARAAARAAARAAARAAARAAgXFFAM7NcVWdKAwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAITBwCcG5OnLpGSUEABEAABEAABEAABEAABEAABEAABEAABEBgXBH4Oufmmzet+AMBEAABEAABEAABEAABEAABEAABEAABEAABEACBn4HA1zk3x5VfF4UBARAAARAAARAAARAAARAAARAAARAAARAAARAYywTg3BzLtQfZQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGACE4BzcwJXPooOAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAmOZAJybY7n2IDsIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAITGACcG5O4MpH0UEABEAABEAABEAABEAABEAABEAABEAABEBgLBOAc3Ms1x5kBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIEJTADOzQlc+Sg6CIAACIAACIAACIAACIAACIAACIAACIAACIxlAnBujuXag+wgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMIEJwLk5gSsfRQcBEAABEAABEAABEAABEAABEAABEAABEACBsUwAzs2xXHuQHQRAAARAAARAAARAAARAAARAAARAAARAAAQmMAE4Nydw5aPoIAACIAACIAACIAACIAACIAACIAACIAACIDCWCcC5OZZrD7KDAAiAAAiAAAiAAAiAAAiA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VOU3o8OD44BAROR8tpRsHBQHRfgZCCQmp6xYvfZnkGScybBj1+7wiHnjrFATsDiCwcw8/hOw+CgyCIDADyMA5+YPQ42MQAAEQGAMExAtExjDJRlTopccOuzjF0gPl7RareU3K/Rmy9Vr10dSCFTlSOjh2bFLgB57ojO5suMyx25ZIPlPRUC0bO2nkm2MCvPuXdv1G+XOLobymxVjtAgQmxHg1+eyiwiAAAiAwKgTgHNz1JEiQRAAARAYhwTgEftPKvXLly9bt2d6ePuaLB6e3lNj4xLKK0Y600NV/idViUz/WwKtb986alyCQkLvVz74byVB7uOPAJybo16n/kEh7lN82AcbRj19JPgjCcC5+SNpIy8QmMgE4NycyLWPsoMACIAACIAACIAACIAACIAACIAACIAACIDAGCYA5+YYrjyIDgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAITmQCcmxO59lF2EAABEAABEAABEAABEAABEAABEAABEAABEBjDBODcHMOVB9FBAARAAARAAARAAARAAARAAARAAARAAARAYCITgHNzItc+yg4CIAACIAACIAACIAACIAACIAACIAACIAACY5gAnJtjuPIgOgiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhMZAJwbk7k2kfZQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGAME4BzcwxXHkQHARAAARAAARAAARAAARAAARAAARAAARAAgYlMAM7NiVz7KDsIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIjGECcG6O4cqD6CAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwkQnAuTmRax9lBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIExTADOzTFceRAdBEAABEAABEAABEAABEAABEAABEAABEAABCYyATg3J3Lto+wgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMIYJwLk5hisPooMACIAACIAACIAACIAACIAACIAACIAACIDARCYA5+ZErn2UHQRAAARAAARAAARAAARAAARAAARAAARAAATGMAE4N8dw5UF0EAABEAABEAABEAABEAABEAABEAABEAABEJjIBL7OufnmTSv+QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQOBnIPB1zs2J7AZG2UEABEAABEAABEAABEAABEAABEAABEAABEAABH4qAnBu/lTVAWFAAARAAARAAARAAARAAARAAARAAARAAARAAATsJQDnpr2kEA8EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQOCnIgDn5k9VHRAGBEAABEAABEAABEAABEAABEAABEAABEAABEDAXgJwbtpLCvFAAARAAARAAARAAARAAARAAARAAARAAARAAAR+KgJwbv5U1QFhQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAE7CUA56a9pBAPBEAABEAABEAABEAABEAABEAABEAABEAABEDgpyIA5+ZPVR0QBgRAAARAAARAAARAAARAAARAAARAAARAAARAwF4CcG7aSwrxQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEfioCcG7+VNUBYUAABEAABEAABEAABEAABEAABEAABEAABEAABOwlAOemvaQQDwRAAARAAARAAARAAARAAARAAARAAARAAARA4KciAOfmT1UdEAYEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMBeAnBu2ksK8UAABEAABEAABEAABEAABEAABEAABEAABEAABH4qAnBu/lTVAWFAAARAAARAAARAAARAAARAAARAAARAAARAAATsJQDnpr2kEA8EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQOCnIgDn5k9VHRAGBEAABEAABEAABEAABEAABEAABEAABEAABEDAXgJwbtpLCvFAAARAAARAAARAAARAAARAAARAAARAAARAAAR+KgJwbv5U1QFhQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAE7CUA56a9pBAPBEAABEAABEAABEAABEAABEAABEAABEAABEDgpyIA5+ZPVR0QBgRAAARAAARAAARAAARAAARAAARAAARAAARAwF4C39G5eazseEDwdCdB5+MXuCe/oL+/X0Go+MSkhKTFChG+0633Hz7EJyYJBvOceVFtbW2SuXR0dDqo1LHxCfzdd+/afnF0TkxO4S/aExYM5hMnT9sT8zvF2Vu4b4qPX2dn53dKf3wku2nLNgeVmv/Lzcu3LVr2zl3BM8Jsr4/ila6uLncv34J9RaOV5omTpz29pxrd3A8ePiKXZvCMMFr2yWrBfYrPmrT17z98kItMr/f29i5avMTZxeDpPVW5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QAAEQAAEQAAEQMBZAnBuOksO6UAABEAABEAABEAABEAABEAABEAABEAABEAABH4oATg3fyh+FA4CIAACIAACIAACIAACIAACIAACIAACIAACIOAsATg3nSWHdCAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAj+UAJybPxQ/CgcBEAABEAABEAABEAABEAABEAABEAABEAABEHCWAJybzpJDOhAAARAAARAAARAAARAAARAAARAAARAAARAAgR9KAM7NH4ofhYMACIAACIAACIAACIAACIAACIAACIAACIAACDhLAM5NZ8khHQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwA8lAOfmD8WPwkEABEAABEAABEAABEAABEAABEAABEAABEAABJwlAOems+SQDgRAAARAAARAAARAAARAAARAAARAAARAAARA4IcSgHPzh+JH4SAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAs4SgHPTWXJIBwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg8EMJwLn5Q/GjcBAAARAAARAAARAAARAAARAAARAAARAAARAAAWcJfJtzs62tHf9AAARAAARAAARAAARAAARAAARAAARAAARAAARA4Gcg8G3OTWddqEgHAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiNMAM7NEQaK7EAABEAABEAABEAABEAABEAABEAABEAABEAABMaGAJybY8MZpYAACIAACIAACIAACIAACIAACIAACIAACIAACIwwATg3RxgosgMBEAABEAABEAABEAABEAABEAABEAABEAABEBgbAnBujg1nlAICIAACIAACIAACIAACIAACIAACIAACIAACIDDCBODcHGGgyA4EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGBsCMC5OTacUQoIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMAIE4Bzc4SBIjsQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGxIQDn5thwRikgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIjTADOzREGiuxAAARAAARAAARAAARAAARAAARAAARAAARAAATGhgCcm2PDGaWAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiMMAE4N0cYKLIDARAAARAAARAA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ODfHgjLKAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGHECcG6OOFJkCAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMBYE4NwcC8ooAwRAAARAAARAAARAAARAAARAAARAAARAAARAYMQJfJtzs62tHf9AAARAAARAAARAAARAAARAAARAAARAAARAAARA4Gcg8G3OzRH3rSJDEAABEAABEAABEAABEAABEAABEAABEAABEAABEHCOAJybznFDKhAAARAAARAAARAAARAAARAAARAAARAAARAAgR9MAM7NH9wBKB4EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMA5AnBuOscNqUAABEAABEAABEAABEAABEAABEAABEAABEAABH4wATg3f3AHoHgQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAHnCMC56Rw3pAIBEAABEAABEAABEAABEAABEAABEAABEAABEPjBBODc/MEdgOJBAARAAARAAARAAARAAARAAARAAARAAARAAAScIwDnpnPckAoEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQOAHE4Bz8wd3AIoHARAAARAAARAAARAAARAAARAAARAAARAAARBwjgCcm85xQyoQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIEfTADOzR/cASgeBEAABEAABEAABEAABEAABEAABEAABEAABEDAOQJwbjrHDalAAARAAARAAARAAARAAARAAARAAARAAARAAAR+MAE4N39wB6B4EAABEAABEAABEAABEAABEAABEAABEAABEAAB5wjAuekcN6QCARAAARAAARAAARAAARAAARAAARAAARAAARD4wQTg3PzBHYDiQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEnCMA56Zz3JAKBEAABEAABEAABEAABEAABEAABEAABEAABEDgBxOAc/MHdwCKBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQcI4AnJvOcUMqEAABEAABEAABEAABEAABEAABEAABEAABEACBH0wAzs0f3AEoHgRAAARAAARAAARAAARAAARAAARAAARAAARAwDkCcG46xw2pQAAEQAAEQODnIrBl2/bu7p7R8SiA1wAAIABJREFUq9Ouwj0dHZ2jlz9yBgEQAAEQAAEQAAEQAAEQ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BEAABEAABEAABEAABEBgkhGAc3OSZSjUAQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGpQgDOzamS09ATBEAABEAABEAABEAABEAABEAABEAABEAABCYZATg3J1mGQh0QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQmCoE4NycKjkNPUEABEAABEAABEAABEAABEAABEAABEAABEBgkhGAc3OSZSjUAQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGpQgDOzamS09ATBEAABEAABEAABEAABEAABEAABEAABEAABCYZATg3J1mGQh0QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQmCoE4NycKjkNPUEABEAABEAABEAABEAABEAABEAABEAABEBgkhGAc3OSZSjUAQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGpQgDOzamS09ATBEAABEAABEAABEAABEAABEAABEAABEAABCYZATg3J1mGQh0QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQmCoE4NycKjkNPUEABEAABEAABEAABEAABEAABEAABEAABEBgkhGAc3OSZSjUAQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGpQgDOzamS09ATBEAABEAABEAABEAABEAABEAABEAABEAABCYZATg3J1mGQh0QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQmCoE4NycKjkNPUEABEAABEAABEAABEAABEAABEAABEAABEBgkhGAc3OSZSjUAQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGpQgDOzamS09ATBEAABEAABEAABEAABEAABEAABEAABEAABCYZATg3J1mGQh0QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQmCoEvpdzc/vO3fMXRvEUL1z68xcHDX/F9nBDY6OdSt3x6pXkKwWFRV4+fpK3cBEEvozAjyzAiSmpa9dv/DI58RYIiAnMmTvPTqUW/FEjqWxLxVFJXnF0Mp44eUry1re6eDj/6IyZ/n19fd8qQsl4+vv7Pbx9jxwtkLz7n1/8MRCU1fyvmtes/dkhc8KVZfv6u/GJyctXrCKEuHv5HMo7rBzhT2KoHzysMrl7PayqVpb2R941m812KvWNv28SQmypU19ZsPOPFRhdPQghq9euWxIb9yM1nQRp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AOfmxM07SA4CIAACIAACIAACIAACIAACIAACIAACIAACU5oAnJtTOvuhPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhMXAJwbk7cvIPkIAACIAACIAACIAACIAACIAACIAACIAACIDClCcC5OaWzH8qDAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwMQlAOfmxM07SA4CIAACIAACIAACIAACIAACIAACIAACIAACU5oAnJtTOvuhPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhMXAJwbk7cvIPkIAACIAACIAACIAACIAACIAACIAACIAACIDClCcC5OaWzH8qDAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwMQlAOfmxM07SA4CIAACIAACIAACIAACIAACIAACIAACIAACU5oAnJtTOvuhPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhMXALjc26+edOJPxAAARAAARAAARAAARAAARAAARAAARAAARAAARD4GQiMz7k5cZ24kBwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGCSEYBzc5JlKNQBARAAARAAARAAARAAARAAARAAARAAARAAgalCAM7NqZLT0BMEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEJhkBODcnWYZCHRAAARAAARAAARAAARAAARAAARAAARAAARCYKgTg3JwqOQ09QQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGCSEYBzc5JlKNQBARAAARAAARAAARAAARAAARAAARAAARAAgalCAM7NqZLT0BMEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEJhkBODcnWYZCHRAAARAAARAAARAAARAAARAAARAAARAAARCYKgTg3JwqOQ09QQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGCSEYBzc5JlKNQBARAAARAAARAAARAAARAAARAAARAAARAAgalCAM7NqZLT0BMEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEJhkBODcnWYZCHRAAARAAARAAARAAARAAARAAARAAARAAARCYKgTg3JwqOQ09QQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQGCSEYBzc5JlKNQBARAAARAAARAAARAAARAAARAAARAAARAAgalCAM7NqZLT0BMEQAAE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AARAAARAAARAAAQkCUDclMSCiyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAApOdAMTNyV5CSB8IgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIAkAYibklhwEQRAAARAAARAAARAAARAAARAAARAAARAAARAYLITgLg52UsI6QMBEAABEAABEAABEAABEAABEAABEAABEAABEJAkAHFTEgsuggAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAITHYCEDcnewkhfSAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAApIEIG5KYsFFEAABEAABEAABEAABEAABEAABEAABEAABEACByU4A4uZkLyGkDwRAAARAAARAAARAAARAAARAAARAAARAAARAQJLAyMTNzs4u/IMACIAACIAACIAACIAACIAACIAACIAACIAACIDAZCAwMnFTUh/FRRAAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAAARAAARAAARAAARAAARAYAwIQN8cAIoIAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAAARAAARAAARAAARAAARAYAwIQN8cAIoIAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAAARAAARAAARAAARAAARAYAwIQN8cAIoIAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAAARAAARAAARAAARAAARAYAwIQN8cAIoIAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAAARAAARAAARAAARAAARAYAwIQN8cAIoIAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAAARAAARAAARAAARAAARAYAwIQN8cAIoIAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAAARAAARAAARAAARAAARAYAwIQN8cAIoIAARAAARAAARAAARAAARAAARAAARAAARAAARCYeAIQNyeeOWIEARAAARAAARAAARAA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AqMm8PHjR7ridVZM7KgDwYP/dQL8ymtRXhRuiXziJwiMIQGIm2MIE0GBAAiAAAiAwDdCIK/gkIugi4mNoxtI/yu5CgoN957qzz5x9l9J9r+eTgUFU+HWv57scU3A49pa/nDAcY0LgX8lARTWVwLE4yAwIgI/X7mqFnQJSSnsG7Yjehyevw0CCgqmwq1vI+/IxeQkAHFzcpYLUgUCIAACIAACIAACIAACIAACIAACIAACIAACIPAFAhA3vwAIt0EABEAABEAABEAABEAABEAABEAABEAABEAABCYnAYibk7NckCoQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIEvEIC4+QVAuA0CIAACIAACIAACIAACIAACIAACIAACIAACIDA5CUDcnJzlglSBAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAh8gQDEzS8Awm0QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIHJSQDi5uQsF6QKBEAABEAABEAABEAABEAABEAABEAABEAABEDgCwQgbn4BEG6DAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhMTgIQNydnuSBVIAACIAACIAACIAACIAACIAACIAACIAACIAACXyAAcfMLgHAbBEAABEAABEAABEAABEAABEAABEAABEAABEBgchKAuDk5ywWpAgEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQ+AIBiJtfAITbIAACIAACIAACIAACIAACIAACIAACIAACIAACk5MAxM3JWS5IFQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwBcIjEDcbGpqslqtXwgPt0EABEAABEAABEAABEAABEAABEAABEAABEAABEBg/AlYrdampia5eP6f6EZHR0d/f7/oIn6CAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwMQT6O/v7+jokItXLG729/e3tLT09fVZLBa5Z3AdBEAABEAABEAABEAABEAABEAABEAABEAABEAABMaVgMVi6e3tbWlpUViLKRY3CSEfPnzo6Ohobm5uxB8IgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAI/BsEmpubOzo6Pnz4oCChSoibCr5xCwRAAARAAARAAARAAARAAARAAARAAARAAARAAAQmCQGIm5OkIJAMEAABEAABEAABEAABEAABEAABEAABEAABEACBkRGAuDkyXvANAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwSQhA3JwkBYFkgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIjIwAxM2R8YJvEAABEAABEAABEAABEAABEAABEAABEAABEACBSUIA4uYkKQgkAwRAAARAAARAAARAAARAAARAAARAAARAAARAYGQEIG6OjBd8gwAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAITBICEDcnSUEgGSAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiMjAHFzZLzgGwRAAARAAARAAARAAARAAARAAARAAARAAARAYJIQgLg5SQoCyQABEAABEAABEAABEAABEAABEAABEAABEAABEBgZAYibI+MF3yAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAApOEwP8H6sRDAGL3t8AAAAAASUVORK5CYII=)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can monitor losses, metrics, gradients and parameters as the model trains.\n",
- "\n",
- "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA78AAAKICAYAAAC46E07AAAgAElEQVR4Aey9iZtV1Znv3//A/Uf69v3dp2+nh3RfNUl3vInpdDoxZup0Eo3GGIckzvMQR1RQUAZRVEBQFEcGcUAUBxBREEWZiwJqhKKAoiiqGN7f812Ht9xs1qk659QZ9/ns5zm1917juz5rnXr396y19/6rwcFB4wMDxgBjgDHAGGAMMAYYA4wBxgBjgDHAGMjyGPirLDeOtvHlZQwwBhgDjAHGAGOAMcAYYAwwBhgDjAGNAcQvM9/M/DMGGAOMAcYAY4AxwBhgDDAGGAOMgcyPAcQvgzzzg5xf+viljzHAGGAMMAYYA4wBxgBjgDHAGED8In4Rv4wBxgBjgDHAGGAMMAYYA4wBxgBjIPNj4BTx29nZaVu3brXNmzfzgQFjgDHAGGAMMAYKHAPynfKh5ZpZwB9zHcK1GGOAMcAYYAwUPwZG8scniV852q6uLjt69KixQQACEIAABCBQOAH5TvnQcghg/HHh3EkJAQhAAAIQSBIYyR+fJH6lkhG+SXQcQwACEIAABAonIB8qXzrW2V/8ceHMSQkBCEAAAhBIE8jnj08Sv5pWZ4MABCAAAQhAoHQC8qVjFb/449L5kxMCEIAABCAgAjF/jPhlbEAAAhCAAATKSCDmbIsVw4jfMnYIRUEAAhCAQFMSiPljxG9TDgUaDQEIQAAClSIQc7aI30rRplwIQAACEIBAnEDMHyN+46wIhQAEIAABCJREIOZsEb8loSQTBCAAAQhAoGQCMX+M+C0ZJxkhAAEIQAACpxKIOVvE76mcCIEABCAAAQhUkkDMHyN+K0mcsiEAAQhAoOkIxJwt4rfphgENhgAEIACBGhOI+WPEb407heohAAEIQCBbBGLOFvGbrT6mNRCAAAQgUP8EYv4Y8Vv//YaFEIAABCDQQARizhbx20AdiKkQgAAEIJAJAjF/jPjNRNfSCAhAAAIQqBcCMWeL+K2X3sEOCEAAAhBoFgIxf4z4bZbep50QgAAEIFAVAjFni/itCnoqgQAEIAABCAwTiPljxO8wHg4gAAEIQAACYycQc7aI37FzpQQIQAACEIBAMQRi/hjxWwxB0kIAAhCAAARGIRBztojfUaARDQEIQAACECgzgZg/RvyWGTLFQQACEIBAcxOIOVvEb3OPCVoPAQhAAALVJxDzx4jf6vcDNUIAAhCAQIYJxJwt4jfDHU7TIAABCECgLgnE/DHity67CqMgAAEIQKBRCcScLeK3UXsTuyEAAQhAoFEJxPwx4rdRexO7IQABCECgLgnEnC3ity67CqMgAAEIQCDDBGL+GPGb4Q6naRCAAAQgUH0CMWeL+K1+P1AjBCAAAQg0N4GYP0b8NveYoPUQgAAEIFBmAjFni/gtM2SKgwAEIAABCIxCIOaPEb+jQCMaAhCAAAQgUAyBmLNF/BZDkLQQgAAEIACBsROI+WPE79i5UgIEIAABCEBgmEDM2SJ+h/FwAAEIQAACEKgKgZg/RvxWBT2VQAACEIBAsxCIOVvEb7P0Pu2EAAQgAIF6IRDzx4jfeukd7IAABCAAgUwQiDlbxG8mupZGQAACEIBAAxGI+WPEbwN1IKZCAAIQgED9E4g5W8Rv/fcbFkIAAhCAQLYIxPwx4jdbfUxrIAABCECgxgRizhbxW+NOoXoIQAACEGg6AjF/jPhtumFAgyEAAQhAoJIEYs4W8VtJ4pQNAQhAAAIQOJVAzB8jfk/lRAgEIAABCECgZAIxZ4v4LRknGSEAAQhAAAIlEYj5Y8RvSSjJBAEIQAACEIgTiDlbxG+cFaEQgAAEIACBShGI+WPEb6VoU27DEejdt8/OPf9Ce3jKtKJsHxgYsJtuvc0+/mSNtbRst//40Tn2yoKFRZVRr4nztUfhf7riKhMztVVtVhgbBCBgFnO2iF9GBgRqTyCfv5L/lh+XP2eDAASyQyDmjxG/2enfpm6JC1c5sFI3F3rFOsCkEPQysi5+1T7/kSDfxUSp/UA+CDQ6gZizRfw2eq9ifxYI5PNX8mdZ8dtZ6CfaAIFyEYj5Y8RvuehSTk0JuOgci/gttQGq04Wg25EVJ5qvPWqvs853MVEqT/JBoNEJxJwt4rfRexX7s0Ag5q802zvuvvGsXspCB9MGCKQIxPwx4jcFidPGI+AC7R/++TTTx5fgKvzc838XRJqWMyt8w8ZNYWmTp9XeRZzPHqeF7JtL3wrLoZVW5ShdcksKQbclKX5Vvtfntnl+T+/xns9t8XC3yfPl2yu/53FbvX4vW3k9neI83vMlZ77dvmRe2aY0zkFx6XYly0zHed2qLxnndbkdyTrztZdwCNQjgZizRfzWY09hU70TkO9zn+C+yX2I/IxvSuf+JJlHeZO+RMeezvPK90j8SgT7bUxep/bJepTH61dcsqyk3/N87svdBi/f2+Lx73+wYvjaZMXKD4eP3Y7RbFi37rNwfeLlyk73qYVePzgP9hDIEoGYP0b8ZqmHm7gt/k8+6SA8zEWg8CjsiZmzAil3Qh7vTsgdRTq/x7sTUyEK072vSuvlyxl6GneGbpfKzlef7JEDVJlyYO7EFK78Ch9pU5qkI1Zd+ng7vTyVoXA/Fw+33+11+52Bnyuv0nhenSsuWa+Xob3X5W1Ox3V0dg63TWlklzZnoT0bBBqNQMzZIn4brRext9YE5Fvcd7gfU5j74qS/kE/SueK0d9+h46R/SvsrtVFhXpZ8Xr5rBE+bLE/pVWfatynM49QG1aHN2+E+1NuSLrNUG5LlyKbkeTCAPxBoMgIxf4z4bbJBkNXmukhzwaV2epg7nVjbk47QnVDSCcpxeH53Wh7vdfgvxn7ueTy9O7l88e7ck/alHXYyLnbsdSVtEwsvW23wY2+ntytZnsd5OTGGypfMq2N3sG5HvjZ7eV6+1+353EYPZw+BRiQQc7aI30bsSWyuFQH3RWlf475FPsSP3a8k/b/brTCfhVVY0l95GpUVy5tO7zbl819uj5ervefxdriv87Qeny4zWUbS5pHSe5zXlWSULI9jCDQTgZg/Rvw20wjIcFtjzs/D3BF4891B+HIiF24e7k4ond+dlserPJWdPE/mSZen9OkwP5ctbofSeV1uYz7HnK9Nns/FpNulcvRJ1uXt8Dzae5s8nzN0u5L2KM7L8/Z4/libldfr8guAZDrFeXnePvYQaCQCMWeL+G2kHsTWWhNw3+O+wvfuM5J+TD7IfZ3sdj/lebR3n5X0V0orn5VcveVhKs/zuz9ym9wfOqOY30vHeR63zduRL6+HF2qD1yffq7K1qkpt8Ho9nj0Emo1AzB8jfpttFGS0ve6U3MGpmR6W/OfvwsvDtHfH5s7GhVs6vzstj/fzfHV6vDu5fDYpPJbWu0r1JR27hyf3nt9tS8bpOBmvNG6Th3v5ozEQE3/FkdeRZOjleflKk+bo+fKFx8rwPOwh0AgEYs4W8dsIPYeN9ULAfZH76rRdHv/Ms88Ff+a+z/2Kn7vPdz+d9FcqU+FJf+Xpvd5keq/Ty3abRvJZnsfLS6f1+GSZpdjgtiivrmnExf26x7GHQDMSiPljxG8zjoQMttkdnjsYNTEWlnRk7oRKFb9yWnKa2vuWrtOdmPba5ODcIal+OSjt03Hznps/XG7SZh3rl+BkO0PmE048+Qu3yk3apjwSrvp4/rTjdXvdEcfa43Fer8pyhgrzMmJtVnl6gJi2ZN0jsfB62EOgUQjEnC3it1F6DzvrhUDat6R9mnyRfLB8qvubmP9J+sV0mTrXx7dkvOpT+Un/pjqT5/JjSqd8yXo83Mtwv+n2ueBO+sGx2qD8Xp9s8Tq9XPYQaEYCMX+M+G3GkZDRNrvzcQeUFm5qtjsapZEDyz3J+XdBKHucO4x0fncqHi8n5g7MkXoat0Hh7uy8TpWbDk/Geb0K84/K0Ka6FeY2hMDEn2RdSpe0z8tNOm5lTXJTuf5RXLo9ilP65ObluqhXXNKOZH3K721K2pdMr/BknmRdHEOgEQjEnC3itxF6DhvrjUDSP8k3yIf45n4j6XuSPkvp/W0NSqst6a86u7qCj/Q4xft1gPuh5DWC15v2Y+4T89nqdrr9yu++2etLtsvDSrFBNrodyXa57ewh0GwEYv4Y8dtso4D2lo2AnJU7vbIVWkBBqjPpKAvIUpYkcsjpe6PKUjCFQCBjBGLOFvGbsU6mOQ1PQEI4fRtPwzfqxI/PyR8EstAm2gCBUgnE/DHit1Sa5GtqArUSgvolt1azoqrbf61u6s6n8RAYhUDM2SJ+R4FGNASqTKBWPyRXspk+812LH8gr2S7KhkCpBGL+GPFbKk3yQaDKBOTU/H7ZKldNdRCAQBEEYs4W8VsEQJJCAAJFE/DlzvxIXTQ6MmSYQMwfI34z3OE0DQIQgAAEqk8g5mwRv9XvB2qEAAQgAIHmJhDzx4jf5h4TtB4CEIAABMpMIOZsEb9lhkxxEIAABCAAgVEIxPwx4ncUaERDAAIQgAAEiiEQc7aI32IIkhYCEIAABCAwdgIxf4z4HTtXSoAABCAAAQgME4g5W8TvMB4OIAABCEAAAlUhEPPHiN+qoKcSCEAAAhBoFgIxZ4v4bZbep50QgAAEIFAvBGL+GPFbL72DHRCAAAQgkAkCMWeL+M1E19IICEAAAhBoIAIxf4z4baAOxFQIQAACEKh/AjFni/it/37DQghAAAIQyBaBmD9G/Garj2kNBCAAAQjUmEDM2SJ+a9wpVA8BCEAAAk1HIOaPEb9NNwxoMAQgAAEIVJJAzNkifitJnLIhAAEIQAACpxKI+WPE76mcCGlQAkePHbd9A0cb1HrMhgAEskIg5mwRv1npXdoBAQhAAAKFEhgYOm6fth2yde2HbGDoWKHZypYu5o8Rv2XDS0GlEOjqO2Lnzm217XsHS8l+Up6lmw7YT2a2WHffkZPCRzt5d+tBu21JR0g27f3d9q9TNtt3HtliO3uHRstKfBkJ7F86y3Zc8w3becOZdrS3M1rysf4DtvvJ6+zogR4b3PGF7br1+7b90v9j/Z+8Hk1PIARqQSDmbBG/tegJ6oQABCAAgVoR6Dt8zG5Y1G5XvbLLrl3YZne80Wn9g9UVwDF/jPit1YhooHr3DxwNQlBiMN+nbd+QDR45XnSrVN4f5u+s2YytLL5+Ubst/mL/sO2y6eezWjIjfo8PDQQxKUE50kfpar3JvvZ7/yuv+O3/dJn1PHOn2fGvxlr3o1cgfmvdcdR/EoGYs0X8noSIEwhAAAIQyDiB+Z/22n88ttX+37Qt9u+PbrVfzG6xxV9+db1djebH/DHitxrkG7yOS57faX83fsOonxfX7SuqpR/vPBS+DF+fuNH+bcpm+/1zO0y/Emm7f1mXXf7SLvv+o1vDLOzC9bkvy7w1e0PYt6dutvOebrX2/bnZ2Ve/3B9mbPXFkljXpr2E9e2vd9j3pm+1Hz2+7ZQZ5k3dh+1PL+466ZeomPiVsL91SYep3rOmb7FXPs+1VXUo/2+fabUfP7EtpFHafOHBsDx//rDoD/Y/7vof4aPjcm29C6dYy4V/PepH6UrZhtq3WOfEC6zz4Yusc+L5dqSn3Y4N9Fn39D/bUHdrKFIztbtn3hDCBzausva7f2o7r/2Wtd/9Exvq2Dpc7Uji9/jRI7Z71k02uOPL4fQ6OEX8Hj9u+9+cGWaQNYusY4ll5d/7wnjrmHCuddz/q5BPM8n5wk+qJHVSqb5KVcNpgxKIOVvEb4N2JmZDAAINRUA/jQ8cOWb7Dh01rS7c0Ttkm3cfts87Buzjnf32QctBW7a5z5Z8ud9e/myfPbu212av7rHHVuyxye9224S3u+3uNzvD9dx1C9vs8pd32cXzd9r5z7Tafz+1Paww/MGMbeHa9JsPb7J/nrhp1OvjQq6hK5nmaxM22N9P2Gj/+MBG+/qDG4PN/3fSJjvtoU12xsOb7RsPb7JvTt4UrqN1nXvmtM32nWlb7LuPbLHvTd8SrrslYv9zxlb74ePb7Ownttk5T24LLH42q8V+PrvF/mv29sDnV3Na7TdzW+3cp1tDvr+fIP3wpf3TgxtDeS+s663qeIr5Y8RvVbugMSu7762uIPr0hcj3kSB8b9vBohsooSlx7YLVC5D4vfSFnWE2Wf/EDp5YJtHTf2R4hnnux3tt4jvdniXM1CbLUpm/fGq7KZ22ye/ttkc+2D2cXgdT3tttc1bn4j0iJn6VRiJa/1T1z/SCea0m4bxi+0G79PmcnYpb23YopMkX7nWk9xJTf3XrX530KZcA7lv5ck4IXvutIDglOk/53HCmKV2x2/HBAet5+g47ui/XD5qZ7X15UihGorPvg5fC8cCGD23vSxPD8bFDB0z5tB3e8onteerW4ZnckcSvRK/Er8RqckuL34HNq617xlV2/MhQ+OhYYSpbAl1CXNtg26YQny88WUfyuJJ9layH48YlEHO2iN/G7U8shwAESiNw7LjZoaFj1ntCiLb2DoVrp8/aD9nqHf32fstBe2tzn2kC46V1vTZvTa/N+qjHHl2xxx5+t9vGv91td73Zabe82m7XLmizP7+0K0xqaMJB13fnPNkyPLMoAff1MQpRicPTH9pk356qmcotQeT9Yvb2IOR+/+wO++MLO+3qBW1206vtdsfrHabr40nLu+2RD/bYzI967OlP9toL6/bZoi/229JNffbu1j5b1dpvmuxZs+vQiXtfB4IQX985YF92HbaN3foMBIG+dc9h27bnsG3vGbTWvYPhulYrKzXR03ngSLj+3H3wiPX0H7W9h47avoFj4fr5wOGj4Tq5f+hYuK9WkzBDR4+bnoWjPqjVtrf/qH1rymb754kb7YyHN9l/Pr4t/ChRTXti/hjxW80eoK5TCIwkfmMzyRK0+gejf4D656dZV9/SZSmtZn79fmKVJ1Htm/6hSMRqn9xi4lez0PoH7ZtmgVWe/sHc8mpHmPXVrLTfy5Av3POn95rxTYtfhdX7JuHYduc51v3Ylbb7ievC58Dbc4PZQaw+eV0Qqz3P3hMEqCIkSnWP7u6ZN1r3I3+yzgfPDzPCissrfo8ftz1z/2IS1+ktLX41g933/vPDyXQcZrVPzAi33fYD2790tkmEhy1f+HAJJx80al+d3ArOKkkg5mwRv5UkTtkQgECMwODR49Z3+GgQSx0HjgRBpR/ufRZ05fZ+e2drn72x8YAtWr/fNCvnAvSxlXvCpMEDb3fZuKWddvvrnXbT4vYg/v704k676Lkddv68Hfbfc7bbT2e22A9nbAsr4yQcJSA10zeW2Uzll2A6c1pu5lGr6zS7eN4zraFu2XDNgja7+dUOu/P1jnB999C73TZ9xR6buarHnvlkb7hO021tSzf32Xvb+uyjHf22rn0gCE4JzI4DQ0FE9g/lhGKMIWFjIyABrJn1OR/3hB9BxlZa8blj/hjxWzxHcpSRQFqwetESqWnxKzGrpdESofohS//E9Eugb+mylF4zwQrXlha/ms0d//ZXYjhZTvqe33zi1/PoVzj9w1W+thNLsRWXL9zz+b5RBZXEqgTssJD0Bknkapnyk9fZoc/eCbO7mu1V2J45t1nfBy+aHTsaZow1M6tl0tryiV8tn9Yyak+XqOaUZc95xe+JTLq3+eBHi8LS68FdG4eLyhc+nODEQaP2VbodnFeOQMzZIn4rx5uSIVCPBDTrph/EfdZT1yKa2fuic8DW7jpkq3b0hxVzmiHUzGdYgrtmr835eK89/mGP6QGcE5d3231vddqdb3TaLUs6LCzDfWlXuLb53bM7wvJSLTnVMlTdJnbm1M32zcmaadtkXyvgdrXRxOk/PLDBTpuUWw773elb7D9n5Ja7atZVt55JAP/xxV121SttdsOiNrvttQ67583OsHRYq+00gyshqsmBlz7bF9qph5O+v+1gmPn9rGPANu0+HES5ZjbF6tDQcTtWy+nKehxM2FQygZg/RvyWjJOM5SCgWdcLn91hew4esSPHjoePyo2J36S4lfjVP1YtjfYtGa+wkcSvHJJmjfULaHpTOWnxm2/Z84auAfuwtT8UofuV5Qg+bT9k+cLTdfl5oy6llaDtmvwHG9iwMjQlt9T4qyd3a9lz2x1n2/5lc0J8uBf40SuGH2jV/+lb1jHhN8OiNp/4TS6hdma+T8/85l32vH93zk49LEszybNvtkOfLbejecK9/PS+Ufsq3Q7OK0cg5mwRv5XjTckQKIWA9JVuqdIy0h29g0GE6ZUsH24/aO9syd0Tqh/Nn/6kN4hRXXOMX9YVhOiNi9vtCt0L+vzOIAJ1zfDDGVvDPY1afvuPD4z+nJTRhKfEq5aLSszqgUHff2yr/fjJlnB98pu5203iV7ddXfFyWxDFWhoskazrJ1+K+/iHe8KtXc+t7bWXP99nS748YBKfmgXVcly1V0tvt+7REtvBsKxWr4wMArSGy2VL6U/yQCBGIOaPEb8xUoRVjYD+t+rBAnrgle7d0D9ibTHxq+U7f3mtIzwtTg+20qyuPtr8FUV6eJZ+/dT9FSOJ3+Vb+8LynfT/di9H933olUc616ZlzLEHXq3vGAiOSPdC61dR3VOsMvOFh8Ly/JGo0qyiPjpulE0PvOq475cnHmD1Uzu8/fNh0zVj237Pz4YffKWI/W89Ze33/Nw6Hjgvt+x54gVB/PqrjrZf/L/DK490rk0PpdKyar+v2AtPvupoxxX/Yl1TL7Njh/uDsI098Opob5d1Tftj7n7nG860vfPvO3HPbzzc64ntG7WvYm0hrPwEYs4W8Vt+zpSYbQLypbqHUc/62LVv0LbsHrTP2geCaFu+9aC9tuFAmC3V8tYnV/XY1Pd324S3u8I9oronU69XkTjUg4q0XFYPvTxr+tYgJvXQn9HEZzr+Hx7QMlwJ0c3hwT8SvHqoj3701uowvdLljtc77f63umzyu7vDA5R0/6pmPSWidR+olhdLWK/cftA+2XUoXCvoYUy6v7Nj/1BYLSZBPsTMZ7YHN62rGoGYP0b8Vg0/FdUTgXFLu0zv92WrfwJ6OnTvoqn1bygWQuAEgZizRfwyPLJKQDpt/+Fj4fkZeniPHmSkB2BK6OnNCBJ/elaHfhx+8J0uu2dpV1jCe/UrbUGcXqD7Rp/aHp6dodeh6IdnzXimxedo55op1dNr9WO0Zkl/MrPFfj23Nawu0/2hWjKsZbm6f1Uzo1qS+9TqvTZ/bW+431XLj/Uk4E929tuXXQPheSF6wKV+SNeP72wQgEDjEYj5Y8Rv4/UjFkMAAhCAQB0TiDlbxG8dd1iTmzYwlFv6q6fMrms/ZB9s7w+zqs+v2xfu19RyX93HqaW+etqtHjb5kydzDzfSg41GE6XJeN2LKnGr16foAUYSvRK/mqHVU3R1X6vE8YPv6Am6u4No1qtoJKIlpiWqJa61ukpLdfUU3L39R8ITbpu8G2k+BCAQIRDzx4jfCCiCIAABCEAAAqUSiDlbxG+pNMk3EoHYrOvbW/pswee6V3WvTf8gtxRYtwxJXGqJrgSn3tWpGVLdKpQUp/mOtdz3e49uDU/1Pf+ZHeGNC3ryr2ZR9crA2atzDzR6c+OBcM+sRLSW8+7al1vKq+dssJJ3pJ4kDgIQqASBmD9G/FaCNGVCAAIQgEDTEog5W8Rv0w6HERt+yqxry0F7feMBe/7T3uFZVwlM3cOqV/xplvTns7eHZb3ffHiT/f2E0R+spCf2fmvy5vA+VD0v43fzcveo3vxqe3hPqZ5toScM64FIehiSHoSkZb8Srlryi2gdsQuJhAAE6phAzB8jfuu4wzANAhCAAAQaj0DM2SJ+G68fi7VY94fqnal6sJHelTrjw57wqhq9g1T3m2pp77lzW+2cJ7eFpwLrFTL5ZlqT4br/Ve861QObfjVne3h/vWZxNZs74e3ce03nfrzXFqzfb8s2HwjLgnXvrV67d+DwsWKbQXoIQAACmSEQ88eI38x0Lw2BAAQgAIF6IBBztojfeuiZytowafnuqJjVfbF6yrAewHTeM6122Qu77PpFei1NRxDHM1buCQ+FkmjWk4A/3tkfXsPXceBIeBVPZa2mdAhAAALZJRDzx4jf7PY3LYMABCAAgRoQiDlbxG8NOqLKVf7LpE12wbzW8K53PYxJM8F6VQ8bBCAAAQjUhkDMHyN+a9MX1AoBCEAAAhklEHO2iN+MdvaJZmm2VkuVtdyZDQIQgAAE6oNAzB83vPhtufCv7cDyZ+uDMFZAAAIQgEDTE4g5W8RvtofFVa+02T8+sMF6+o9mu6G0DgIQgEADEYj540yI3123/Ycd7WlroK7AVAhAAAIQyCqBmLNF/Ga1t3Pt0qzvDYvas91IWgcBCECgwQjE/HHDi9+9Lz1omv3d+9y4BusOzIUABCAAgSwSiDlbxG8WezrXppc/2xeWPC/b3JfdRtIyCEAAAg1IIOaPG178mh23nTefZdsv+l92aP17DdgtmAwBCEAAAlkiEHO2iN8s9fDJbQnv3X1068mBnEEAAhCAQM0JxPxxBsSv2cHVS8Lsb+dDv685ZAyAAAQgAIHmJhBztojfbI6J3QePhFnficu7s9lAWgUBCECggQnE/HEmxK/6pPuxK4MA3r90dgN3EaZDAAIQgECjE4g5W8Rvo/dq3P6H3+0O4vfzjoF4AkIhAAEIQKBmBGL+ODPi90h3q23/w/9nO2/8fzbUsa1mkKkYAhCAAASam0DM2SJ+szkmTpu00c57pjWbjaNVEIAABBqcQMwfZ0b8qm/2LXkszP72zL29wbsK8yEAAQhAoFEJxJwt4rdRezO/3Wt2HQqzvnM+3ps/ETEQgAAEIFAzAjF/nCnxK7Ltd/8kCOD+tUtrBpqKIQABCECgeQnEnC3iN3vj4dqF7UH8dvUdyV7jaBEEIACBDBCI+ePMiV898VmvPuqYcK4dHzqcgW6jCRCAAAQg0EgEYs4W8dtIPViYrXq37zUL2gpLTCoIQAACEKg6gZg/zpz4FdU9s28OAnjfa49VHTIVQopF9pMAACAASURBVAACEIBAcxOIOVvEb7bGxCuf597t+8bGA9lqGK2BAAQgkCECMX+cSfF7dP8ea73867bjmm/a4I4vM9SFNAUCEIAABOqdQMzZIn7rvdeKs++/Zm+37z6yxY4fLy4fqSEAAQhAoHoEYv44k+JXSPe/PTfM/u6ZdWP1CFMTBCAAAQg0PYGYs0X8ZmdY9PQfDff6jl/WlZ1G0RIIQAACGSQQ88eZFb/qv84HzgsC+OBHizPYnTQJAhCAAATqkUDM2SJ+67GnSrNpyvu7g/hdu+tQaQWQCwIQgAAEqkIg5o8zLX4HtnwSxG/7uF/YsUN9VYFMJRCAAAQg0NwEYs4W8ZudMfHNyZvtV3O2Z6dBtAQCEIBARgnE/HGmxa/6ce/8e4MA7l04JaPdSrMgAAEIQKCeCMScLeK3nnqodFs+bcu923fmRz2lF0JOCEAAAhCoCoGYP868+D1+ZNB2Xv9ta738n+3w1rVVAU0lEIAABCDQvARizrZW4nfNmnV28cVXh4+O09vAwICNHz8lxN94413W27svnYTzBIHrFraFJc9t+4cSoRxCAAIQgEA9Eoj548yLX3XEwZWvhNnf3TOuqsd+wSYIQAACEMgQgZizrYX4lbCdPHmGtbS0BlErkZsWt4sXv2H6aFO6L7/clKGeKH9T9G7fK17eVf6CKRECEIAABMpOIOaPm0L8imTX1EuDAO774KWyg6VACEAAAhCAgBOIOdtaiF+JWYlfiWBtM2bMseTsr8IVlhbE3g72JxNY9MX+MOv76pf7T47gDAIQgAAE6pJAzB83jfgdbNsUxG/bnT82vQeYDQIQgAAEIFAJAjFnWyvxO3fu/OEmaoY3KX4leiV+JZC1NHqsy577+voty5//mrXN/m3KZtu772Cm25nlPqRt2f6O0r/127/DjqjKBzF/3DTiV6x7F0wOAnjviw9UGT3VQQACEIBAsxCIOdtaid+RZn4lfiV4XRAnl0A3S18V2s7eQ7l3+45b2lloFtJBAAIQgECNCcT8cVOJX/Fvu/2Htv2yv7OBjR/WuDuoHgIQgAAEskgg5mxrIX4Luec3uRQa8Zt/NE478W7f1Tv68yciBgIQgAAE6opAzB83nfjtX7s0zP52T/tjXXUOxkAAAhCAQDYIxJxtLcSvaGpWN/20Z4lcPfxK4thnf5XGw7LRC+VtxZnTttgvZvNu3/JSpTQIQAAClSUQ88c1Eb9JZywnXO1t9xPXBQF8YPm8aldNfRCAAAQgkHECMWdbK/GbcdRVad5nHQPhQVczVvK8kKoApxIIQAACZSIQ88dVF796+qQ/gEO/ON9554TweoUytbGgYo72doalz7tu/b4d6WkrKA+JIAABCEAAAoUQiDlbxG8h5OozzY2L24P4bd07WJ8GYhUEIAABCEQJxPxx1cVv0rJavmZh/5szw+xvz7P3JE3iGAIQgAAEIDAmAjFni/gdE9KaZv7a+A32xxd21tQGKocABCAAgeIJxPxxTcWvlj+Pddnz4cODVupn1z2/sJaL/pftX7Os5DJKrZt8pfcb7GDHGGAMFDIGineT5ckRc7aI3/KwrXYpi0+823fB+n3Vrpr6IAABCEBgjARi/rhm4lfCtxwP1zhy5IiV+jm4/oMw+9s56cKSyyi1bvKV3m+wgx1jgDFQyBgYo88sOXvM2SJ+S8ZZ04y/nrvdvvHwZhs4crymdlA5BCAAAQgUTyDmj2sifpNPmiy+GSfneOXzffa7Z3ecHFjE2Z6nbw8CeP/SWUXkIikEIAABCEAgTiDmbBG/cVb1HLr/8LFwr++db/Bu33ruJ2yDAAQgkI9AzB9XXfwmX6vgr18Yy9LnRz7YHZxTvkaPFn5s4KDtuOp023nDmTbUuW205MRDAAIQgAAERiQQc7aI3xGR1WXk9BV7wvXFh62827cuOwijIAABCIxCIOaPqy5+R7Gx6Oixil9VeODd58Ls7565fym6fjJAAAIQgAAEkgRizhbxmyTUGMdnTd9iP5nZ0hjGYiUEIAABCJxCIOaPG178rt7RH36Z1X4sW9dDFwYB3L/mzbEUQ14IQAACEGhyAjFni/htrEGx/sS7fTX7ywYBCEAAAo1JIOaPEb8n+vJw6/ogfjsm/MaOHx1qzB7GaghAAAIQqDmBmLNF/Na8W4oy4KZXc+/23brncFH5SAwBCEAAAvVDIOaPEb+J/tn74gNBAO9b8lgilEMIQAACEIBA4QRizhbxWzi/ekj59Qc32iXP827feugLbIAABCBQKoGYP0b8pmjuuvks23H1N2xw54ZUDKcQgAAEIACB0QnEnC3id3Ru9ZLitQ0Hwu1UL67j3b710ifYAQEIQKAUAjF/jPhNkTy4+tUw+7t75g2pGE4hAAEIQAACoxOIOVvE7+jc6iXFuXO3279M3GR9h4/Vi0nYAQEIQAACJRCI+WPEbwRk9/TLgwA+uGpRJJYgCEAAAhCAQH4CMWeL+M3Pq55iJHj/bvwGu21JRz2ZhS0QgAAEIFACgZg/RvxGQB7ZvdNaLvobax/3Czs20BdJQRAEIAABCEAgTiDmbBG/cVb1FvrYyty7fd9vOVhvpmEPBCAAAQgUSSDmjxG/eSDue3V6mP3tXTA5TwqCIQABCEAAAqcSiDlbxO+pnOox5AczttkPH99Wj6ZhEwQgAAEIFEkg5o8RvyNAbL/rJ9Z6+dft8LZPR0hFFAQgAAEIQOArAjFni/j9ik+9Hn3ZdTgseZ7y/u56NRG7IAABCECgCAIxf4z4HQHgofXvhdnf7seuHCEVURCAAAQgAIGvCMScLeL3Kz71enTLiXf7buzm3b712kfYBQEIQKAYAjF/3PDiVwD0cIo5H+8thkXBaffMvjkI4L4PXiw4DwkhAAEIQKB5CcScLeK3/sfDaZM22u+f21H/hmIhBCAAAQgURCDmjzMjfh/5oDLLlI4d7LXWP/+Ttd1xth090FMQaBJBAAIQgEDzEog5W8RvfY+H1zfm3u373Nre+jYU6yAAAQhAoGACMX+M+C0A34Flc8Ps794XJxSQmiQQgAAEINDMBGLOFvFb3yPignmt9g8PbLDeQ0fr21CsgwAEIACBggnE/DHit0B8HRN+Y9sv/T82sHFVgTlIBgEIQAACzUgg5mwRv/U7EvqHjofbp25a3F6/RmIZBCAAAQgUTSDmjxG/BWI8vHVtmP3tmnpZgTlIBgEIQAACzUgg5mwRv/U7EmaceLfvO1v66tdILIMABCAAgaIJxPwx4rcIjD3P3hME8IHl84rIRVIIQAACEGgmAjFni/it3xFw9hPb7PuPbq1fA7EMAhCAAARKIhDzx4jfIlAeP3rUdlz3r7brln+3Iz0sjyoCHUkhAAEINA2BmLNF/NZn9+u1RnpjxKTl3fVpIFZBAAIQgEDJBGL+GPFbJM6DK18Js7+aBWaDAAQgAAEIpAnEnC3iN02pPs5ve60jiN/1HQP1YRBWQAACEIBA2QjE/DHitwS8XVMusZbf/40dWv9eCbnJAgEIQAACWSYQc7aI3/rs8W9O3my/faa1Po3DKghAAAIQGBOBmD9G/JaAdKhjW5j97XzowhJykwUCEIAABLJMIOZsEb/11+NLN/WFWd+nP9lbf8ZhEQQgAAEIjJlAzB9nQvz+fFaLXf7SrjEDKqaA3gUPBwG8f+msYrKRFgIQgAAEMk4g5mwRv/XX6Rc9tyOI390Hj9SfcVgEAQhAAAJjJhDzx5kQvxfM22H6VHtru+0HtvOGM22os6XaVVMfBCAAAQjUKYGYs0X81ldnDQwdC8L3uoVt9WUY1kAAAhCAQNkIxPwx4ncMePs/XRZmf/fMuW0MpZAVAhCAAASyRCDmbBG/9dXDT67qCeJ36aYD9WUY1kAAAhCAQNkIxPwx4neMeLsfvyYI4EOfvjXGksgOAQhAAAJZIBBztojf+urZn81qse88sqW+jMIaCEAAAhAoK4GYP0b8jhHx0X3dtv2Sv7WOCb+x40e5b2iMOMkOAQhAoOEJxJwt4rd+unXz7sEw6zvh7a76MQpLIAABCECg7ARi/hjxWwbM+9+cGWZ/9y15rAylUQQEIAABCDQygZizRfzWT4/efuLdvuvaebdv/fQKlkAAAhAoP4GYP0b8lolzx73/ZTuuPsMGd24sU4kUAwEIQAACjUgg5mwRv/XTk2dO22K/mrO9fgzCEghAAAIQqAiBmD9G/JYJ9eHNq8Ps7+4nry9TiRQDAQhAAAKNSCDmbBG/9dGTb23Ovdv3qdW827c+egQrIAABCFSOQMwfI37LyLtn7u1BAB9c/WoZS6UoCEAAAhBoJAIxZ4v4rY8evPT5neF+3479Q/VhEFZAAAIQgEDFCMT8MeK3jLiPDx22HVedZu3jfmHHBg6WsWSKggAEIACBRiEQc7aI39r33uDR4/a18Rvsqld21d4YLIAABCAAgYoTiPnjTIjf+5d12Tce3lRxgIVU0Pf+82H2t3fB5EKSkwYCEIAABDJGIOZsEb+17+SZJ97t+9qG/bU3BgsgAAEIQKDiBGL+OBPi95EPdodlTBUnWGAFnRMvsNY//5MNbv+swBwkgwAEIACBrBCIOVvEb+1795dPbbd/nbLZjh2vvS1YAAEIQAAClScQ88eI3wpwH9y1Mcz+dj96ZQVKp0gIQAACEKhnAjFni/itbY9t3XM4/Eh+71u827e2PUHtEIAABKpHIOaPEb8V4r/3hQlBAPeteLlCNVAsBCAAAQjUI4GYs0X81ran7nyjM4jfT3Ydqq0h1A4BCEAAAlUjEPPHiN8K4t9543es/Y6z7eiBngrWQtEQgAAEIFBPBGLOFvFb2x46a/oW+/msltoaQe0QgAAEIFBVAjF/jPitYBcc/Pj1MPurWWA2CEAAAhBoDgIxZ4v4rV3fv33i3b5PruKH6Nr1AjVDAAIQqD6BmD+umPhdvPgNmzFjTrSVirv44qvD58orb7aWltZoukID6+2BV0m7u6f/2bZf8rd2ePPqZDDHEIAABCCQUQIxZ4v4rV1nX/7SrrDkeWfvYO2MoGYIQAACEKg6gZg/roj4dXE7kvhds2Zd2QDUs/g9sqfNWn7/N9Y19dKytZeCIAABCECgfgnEnC3itzb9deTYcfv6gxvtTy/urI0B1AoBCEAAAjUjEPPHFRG/aqFmc+fOnR9trESxz/zmE8jRjHkC61n8yuR9Sx4Ly58PLH82TwsIhgAEIACBrBCIOVvEb21696nVe8Os76L1vNu3Nj1ArRCAAARqRyDmj2sifh3BwMCAjR8/xcYyC9zX128Pvd0enJuO6/Wz8/Yf2c6bz7J9O7fVrY31yg676ndc0zf0TT2PAfc11d7HnC3it9q9kKvv3Kdb7fSHNtngEV7uW5seoFYIQAACtSMQ88c1Fb9CoSXS+oxlW3biYRZt+4fGUkxF8w58uSLM/vY8e09F66FwCEAAAhCoLYGYs0X8Vr9Ptp14t+9db3RWv3JqhAAEIACBmhOI+eOqi9/e3n22YsVHAYZmfidPnjHmB16t3tEfZn61r+dt96ybrOXC/2kDX7xfz2ZiGwQgAAEIjIFAzNkifscAtMSs45Z2hWuDVXV+bVBi88gGAQhAAAKjEIj547KLX1/K7Pf0+tOcNburJc6dnV32wgsLh+/5Heusr9rcKOL32KE+a/3TP1jnpN+N0lVEQwACEIBAoxKIOVvEb/V78wczttk5T26rfsXUCAEIQAACdUEg5o/LLn5r0dJGEb9ic+CdZ8Ly5/1LZ9cCFXVCAAIQgECFCcScLeK3wtBTxS/f2hdmfR9buScVwykEIAABCDQLgZg/RvzWoPc7xv/Gdt1wph3pHtv7jWtgOlVCAAIQgMAoBGLOFvE7CrQyR1+zoC2I35aew2UumeIgAAEIQKBRCMT8MeK3Br13ePvnYfZ3z5zbalA7VUIAAhCAQCUJxJxtrcSv3qbgtyGN9GYFvXawHK8erCTXQss+dtzstEkb7eL5OwrNQjoIQAACEMgggZg/RvzWqKP3zr83COD+T5fVyAKqhQAEIACBShCIOdtaiN/kQyX1sEk9d0P79KZnb+jhk3Pnzk9HNeT5nI9z7/Z9+bNT29qQDcJoCEAAAhAoiUDMHyN+S0JZnkw7r/2WdYz/tR0/erQ8BVIKBCAAAQjUnEDM2dZC/La0tAZRKxGsTTO76dlfT/Pll5syI34vmNdq/zxxk/UPHqv5WMAACEAAAhCoHYGYP0b81q4/7OBHi8Ps777XHquhFVQNAQhAAALlJBBztrUSv8nZXM3wJsVvcjZYIjiZthQehw8PWq0/mzsPhnt9b17cVnNbas2C+ms/HukD+oAxkBsDpfiUcuSJ+WPEbznIjqGMrskX286rz7Chtk1jKIWsEIAABCBQLwRizrZW4lfLmfPN/CbvB/b7gsdy3+/Q0BGr9ee+pR1B/C7fvL/mttSaBfXXfjzSB/QBYyA3Bmrln2P+OBPiV0D/bvwGe+SD3bViW3K9euJzy4V/bbufvL7kMsgIAQhAAAL1QyDmbGshfgu951fkyjHzWw89cPYT2+yHj/Nu33roC2yAAAQgUGsCMX+M+K11r5hZ78KpQQAfXL2kDqzBBAhAAAIQGAuBmLOthfhVG5Kzu77kWcuf9fArnxFWuiyI3/e25d7tO+39xvshfCzjjbwQgAAEIBAnEPPHmRG/P5/VYpe/tCve8gYIbbvtP6z9np/b8cFDDWAtJkIAAhCAQD4CMWdbK/Gbz8Ysht+wqD2sAtuyZzCLzaNNEIAABCBQJIGYP86M+L1g3g7Tp1G3Q58tD7O/vQunNGoTsBsCEIAABMws5mwRv5UfGt+cvNl+N6+18hVRAwQgAAEINASBmD/OjPjVrK9mf5Ob3vXXSFv349da65/+0Qa3f95IZmMrBCAAAQgkCMScLeI3AagCh898knu37/PreLdvBfBSJAQgAIGGJBDzx5kRv3rYlR56pW31jv6wlyDe2H24YTrraF+Pbb/kb233Y1c2jM0YCgEIQAACJxOIOVvE78mMyn120XM77O8nbLT9A0fLXTTlQQACEIBAgxKI+ePMid+2/UN2y6sdoYu+/+hWu39ZV0N11/6ls8Py576VLzeU3RgLAQhAAAI5AjFni/it3OjY0TsYfvy+aXF75SqhZAhAAAIQaDgCMX+cGfGr2V7N/Er4SvRq03l6KXQj9Fr7uF9Y2x0/smMHexvBXGyEAAQgAIEEgZizRfwmAJX5cOLy7uDvl2/tK3PJFAcBCEAAAo1MIOaPMyd+v/HwpuAEX/l8X9hLAGs2uJG2gS2fhNnfvS8+0EhmYysEIAABCPDAq6qPgZ/NarF/P/Gjd9Urp0IIQAACEKhbApkWvxK4Err+0ZOf/bjRHnylEdTzzJ3h/t/Dmz+u2wGFYRCAAAQgcCqBmLNl5vdUTuUI+aDlYPD1Dy3vLkdxlAEBCEAAAhkiEPPHmZn5VT+52PW9fgnWpxHf/3v8yJC1XvEv1jX1sgwNQZoCAQhAIPsEYs4W8VuZfr91SUfw/Ru6GufhlpUhQakQgAAEIJAmEPPHmRK/Zzy8KYhdn/XVXg+8khg+cPhYmkddnI/0NOq+FS+H5c8H3n2uLmzFCAhAAAIQGJ1AzNkifkfnVkqKM6dtsfOe4d2+pbAjDwQgAIGsE4j540yJX4ldPfDKX3ukvcSlxK/uAfYtn+DMF+75KrGXjSNtnZN+Z7tu+Z4d7e0cKRlxEIAABCBQJwRizhbxW/7Ombcm927feWt4OGT56VIiBCAAgcYnEPPHmRO/yzb3hff8SvDqWJtmhP31R3oqtB8nu1T3DOthWUmRnIyv1PFoS7KH2rfkHn713LhKmUC5EIAABCBQRgIxZ4v4LSPgE0Vd+vzO8ON2T/+R8hdOiRCAAAQg0PAEYv44U+LXZ1G1xFni15/yLLErYatwvQbJX4WU7FF/VZLyeTnJ+Eoca6ZZs9WjbXtfnhQE8KEvPhgtKfEQgAAEIFBjAjFni/gtb6e07Ruyr43fYNct5N2+5SVLaRCAAASyQyDmjzMlfl3sqsuSolIzwBK1Er3aJ4Wxd6+eCK1wvRc4KY4liit1v7DKligvZNt103es86ELC0lKGghAAAIQqCGBmLNF/Ja3Qya/tzv47Lc2HyhvwZQGAQhAAAKZIRDzx5kSv8me8iXPHubv/ZW4lchNL2/WbK+Ha+/3/0oIFzsTnK7bbUjvXZSnw2Pn/WuXhtnf/W89FYsmDAIQgAAE6oRAzNkifsvbOb98arv9v2lbylsopUEAAhCAQKYIxPxxZsVvbLZWglbhev1R+r5fzRRLGCte4lczwS6Ifcl0oaNBT5guRAB7+S60Ryu/+7Erbef137Yj3aMvlR6trGrEJ2fiq1EfdUAAAhCoBwIxZ4v4LV/PrNyee7fvhLe7ylcoJUEAAhCAQOYIxPxxZsXvSL0n4asZ3aRAlvD1h0/pWIJXIliiWPtiZn+VXwI4tiUFoYtfLX8uZNMTn1su/GvrmXt7IclrniY9u15zgzAAAhCAQBUIxJwt4rd84O94Pfdu3887BspXKCVBAAIQgEDmCMT8cVOKX18CLVHrAi0pcDXr67PDEsgSwH4fsKePjQ6l9ZljT59Op7J9c2GdDEuKY0+X3O9/44kggPvXLUsGn3IcKycWdkrGMgU4tzIVRzEQgAAEGoZAzNkifsvXfWdN32L/PWd7+QqkJAhAAAIQyCSBmD9uSvGr3tVsq78CSaIwKYTTve8ztArXjHBsSbNEsQSv38er8mJiMymKXfwmZ5XTy7FVZ3pZdNud51jHhN/Yhs5Dp8S57ckyPUwiO12WxxWyL3SGWmWJg2bAy7VJTMe4q/wY53LVSzn1R4D+rr8+waKTCcScLeL3ZEalns1f25u7NWl1T6lFkA8CEIAABJqEQMwfN634VZ9rmbPEqESdxGo+cefxPmMsAZy8APdwlaHyJKp1nJzRVX0SngqXkNOWXFqtcy8nRJ74ozxKlxSthzetCrO/i557aXjm+oqXdyWzRYWnbEvbdFKmUU6KEbPJHwxGKfak6FgfiJfqjgl6Zc4XflLBiZMky0Qwhw1CQN8TNgjUM4GYs0X8lqfH5LflR7sODJWnQEqBAAQgAIHMEoj546YWvxKCcqK6PzcpStMjQEJX8e50JW5/92zuoVO3Lsnde6Q4LZX2dBJrCtPmM5Zenws8pdVHM8DaJE517sJaos8FspcREprZnqdutXtvu8+mvpZ7VZLyeblKo3MX2Tp34e02eTnpfTJPMk71q8xChaPPaucrL1l28ti5ephYOIOY7YqPhXv+9F72JDkp3nmn06bPC02Xzsd5fgLFjg+VVOyPHflrJwYClSEQc7aI37Gzbt8/ZF9/cKNd+XLb2AujBAhAAAIQyDyBmD9uavHrglCizgVovlGgNP5xEesztf5wKz9XvAtqlSchrDiJNJWhYwkpHbtg9rwKc3GmfD6LrAv+pFA4drjf/vvOl+w3k94J6ZVP4lmb8ifLUZjbIyE50iY7YpuWY6tMtW2kzYWJ0qZtGCmf4pyBjr29zlqcYn2ktnq7Rytf8UrvNupc/ZA8H6mM0do+Ul7i4gR8rMdj46HF9He8BEIhUFkCMWeL+B078+kr9gS/8vqG/WMvjBIgAAEIQCDzBGL+uKnFr3q8UJHmM5nau3CVkJQoS24SqxLVLkBdvGlG02cwJbY83svVBb0LYcW7WNWMq88i6zgpTr/30Do7/b6Pbf6i94fboXgvW+Wo/vHLuk5Zjq365n689yRBrXbInvQss0S32z7SLKvSiafqTXNVmBiMNHuqeOUTP9khBmq7PjqOCXcXzMkfBtSO9DJw7yOlT95XLT7Jc08X28fqj6UjrHAC6tdiN40RNgjUM4GYs0X8jr3Hzn261b41ZbMdH3tRlAABCEAAAk1AIOaPm178SmTpM9rmM59+se6zuBJ1yS05Oygh7KLRxaD2LjB1nBSKEmbK43W5KFNdEqs6T856eZlX3TcviMafTF1rv318nT3/1rpw/uf5uaXXns6FeNImb4+3QbalBa4LTInQkQSgi+5k+WqfBG8yTOWlt+QsvJeTtNs5pfN5uPL45iJcZaY3pU/2t9qaPE+n93P/wSNWpqeJ7dOiPJam1LBibSm1nkrmK4R9sn7v20pyTdbHMQRKIRBztojfUkh+lWfViRVN975V/A9mX5XCEQQgAAEINBOBmD9uevHr4my0geAiy4WbC8KRLsJdIEs0upDzmUwvz4WezyBLDHhan4H1tC4gVbfn87S/HrfILrpjrp1916s27vrbQhmaFVb8VXfPsqvve8a2TLzMznnwgxC2cN5zdv2TH9gZE7+w7s8+tClLNtjR/V/N2CZnaNUO2Sd7VN6C9ftOmR0WP7dTaZKz2JrR9RlxZ+Ft83ok7JVGeZ2bnyuN150WfP5Dger2zfsmLewVr7KTAl716TPa5mW63aOl9/ikXR5Wrr1sSvNIn8fqSv5QEItPhhVSXjJ97Nj7OB3nQjYdPtK5j/ti2jBSeY0UN9L/mrG0oxlZjoVXIXljzhbxWwi5/GnGLc09m2Nt26H8iYiBAAQgAAEIJAjE/HHTi98EnxEP/aI7KQZi4ipZiAsm7SXSJAhdIPpe6SW+lEabykwLMhd+Cpcg1Oyvl+1pVb6XOfWNLcNlKH7hsy9Yz/x7rfuJa+0vDzxtf7jvRdt1w5n20Z+/E9K5SP7wkm8M57v/nofD65S6HvlTCLtzxuvWtuSp4fhvTNpgR3va7aNtX83iSlhK3ErAyx7tXew6K13Ai4MvgXYhqjYpv7dPdmumWmHanH/6Qt1/LPB0SuuC2MsOBZz44+l1muSaT6B5Xi8zKWZli5ZXjySI1a6Ryk6uFPC60vu06PHyZEvanjSfdFk6T+aJxSfDCrEvmT52nM8mhaufi9k8T74yiykrnVZlplmn09TyXPZ535fLDpVXLpbJ/43lsq9RknRZ/gAAIABJREFUy4k5W8Tv2HrzBzO2BX8ytlLIDQEIQAACzUQg5o8RvwWOAF0kFnuhrgtp5dFeF5gSUC5aJcwkDLVJDPrmS5OTYk4XlSpHwlDl6FiiSnvl1d6FkI4l8HzWVOfJLX0BfcHT2+yMhzaGMh5+YVXYn/7g52GvvH95YG44nn/r5bb9kr8Ns8o333h/CHv8qkvCPccP33yL7bzpu3bG+E/t6gdesKXTJ9ozM5+x86blylM5H3z4qR3pbrVj/QeCqFWYt8HbpDa4OHW7XYw4S/ERR9+8DO1907G3X+I0ef+vytVHdSZ/aND5SJvXI/u0eT+qrKQ9yTK83/KJY42ppED3tibL0HG6fP1woE1jxMeQzsVmNGErm/yHiFDIKH9Ux2hsvIh8dSs8Vob/+BCL8zLTe5Ul5uUQ5bGy07aUW2ym6yzmXG0vd7vV3nKV6eOymDZlNW3M2SJ+S+/tlz/bF773M1fxbt/SKZITAhCAQPMRiPnjmonfNWvW2fjxU2xgYKBhesKFTzEGJwWBLjT1cQHmIiR5ge3x6QvSpMhywSt7JE4UJyHheXWuOAnApIiO2a269fE82kvYyW6vR+X4duzgPhvq2GanT/xyuB3K8+CjL4bzaROmWNsdP7Id13zTxt14x3Calgv/OrybWPsv/vh/7fT71wzHXTxxSTh++7mn7c7Zy8PxTx9db0PtW+xY316z47nHm6geb68zU5h/JB5dcKoNLoAVrzgX0DoXLwlacdJ5mre3V3vno/JcZHteF9Ax4epxYqn4dB06d1ti8cm6vb2eR33ttnvdEslpoZxsh47VbuUrdFNaH6exPLLDt3ziR/nVH+lNXNT+ZBnpNOlzz6N9oZvzGS19TOiLV71sanPyx45y2CX2xbDMV6d/R/LFF9oH+fI3WnjM2SJ+S+/Faxa0hf8V/n+w9JLICQEIQAACzUQg5o9rIn4lfC+++OqGE7/luhDWBX++i1hdJCo+7eSV3uv3WUeJChcDEn26kFVefSSCJFzSgivfgPd82vvmQjImoFW+0soGP9a58vjmtp0/e6MNbPrI+j953Q6884z1Lpxi105ZYpdMfM2+O36VnX7/2lDW+kv+afh+5d/fNmtYLLdc+D9tx5X/135837Lh9i19fIp9OX96OL/sidy9zbPf/ML+/OzmENa2fzDwclZik+Yje10ku8ATr2Qb1BYvw4W3n6s8Z6Sw9KY+Ux3eD+k+99lk8dMnxll9rjLEUmNCM8Vut/b6+LhQPfqMtKkcT5MWJMl2+/hLrlCIlauyVI5zyJdG9aY3Mfe2pePynau+YvLItljdsfLV1vT3RXnVz+XefDwWU65sUdu9b4rJmy+tyoyNu3zp84W7bTFWstfHqPLH0uQrt1HDY84W8Vtab3b1HbHTJm20P76YuwWmtFLIBQEIQAACzUgg5o9rIn4Fv7d3n82YMaehZn7LddGpGdWRykqLJPFycaZjXdBrFlIX6i6OfEDr4tjFgS5IR6rH82jvoiI5y6twlRETdqpXaV1A+cVvsky3TXHpTXYprwtnr3fVxs5g/+QFn1r/x6/ZgXeett4Fk63n6dvtNw9+JX7vve1eW3j5T0PaeVecG/bedj3wSzPMrX/6R9t5/bdD3P3jH7M5D08Jx6c/8LmdNSk387x5+RL77ROf2fkzv7Ce1q1hCfg3Ht48LIDFWOXKPl20ex0uINUu9WdSQKjd3nblcwGpvN4fLhaV10Ww9unNuSpOM6sqT+W4cNSxGGpz29JlJM9dwCssPaZUh9qofvEx6GW63V6WC2XlUVudUzqd0qv9zic5lnzMxcaH15Pee54kf0/jNvm59mpPLG0yjY69P9K2iFHS5nQ+P/fvgZ+Ptndmo6VTvLfL257st0LyexqV42V5mNob4xPrR8/j+6SI1TjQWEmGeTqNjSRXtb1YXl5WoftKlz+aHTFni/gdjVo8/vEPc+/2XfwF7/aNEyIUAhCAAATyEYj544YXv4cPD1qjfXbvHxjR5hfW7jklvmV3/0lhU97ttBVb95vCfzZz23Cci5WZH+62z3b1DYePxujGhbllZb99uvWUPPnsVR3JctPpZJ/s0T6ZLnmsMpTG61V7dP76F72n5Bn3Zrt9b/qW8JG9SqO0a9d+aZ+sWGmLXl1uHy1eYD1LHrc9Lzxg3XP+Yp2PXmXnTHjPfjP+dbv3rodC+l/dmVui/Z173g0iWfcw66Ff/pTss+/KLcP+6LofhfTKu3niH+3TR3JP0Vadq156xnqXP2f7Vi2x65/51L439Uvr72i1gX177d+nf/XAMfWT0vvHmaktCvP2e3ya4Z9e+Orp30qjsaH+lqDUucSw6lNfexk+VmLclVfp1Ac69rRu5/nPtJofJ8tMjkmFy37ZqrLUF25nrE6l8TEqW73/3Rbvew/XPsnhpkVtw+fe7lge/04ky/G2JMNix2qf7FS7kvGqR2Ukw5LHslP2iVsy3I+T7fAw7VWmmOnY+yAZnzwWX3GVLbIxyTCZbrRj5U1zkw2x8vK1J/m99Hz+PVT5MVbqZ2+rbFSa2DgZzf5i4v17ls8ZVjo85mwRv6VRv2Beq5320CYbOsrbfUsjSC4IQAACzUsg5o8bXvwODQ1Z1j49fYdHbVNrzyHzdLqwdAYuKFZu2z8c5nEj7ae+l1uCmixrpPSFxMk+XRC7nbE869sPhjSq3+OVR+F+7nulefHTniA01E632ePz7SVOJJq0l3i+d2luyfaNL221Qzs32RNLPg02qN7rHn/PVs2fFc5/MnFF2L8//hrbdfuPbMf137bT7ltjEsvJe5hdNCvMZ6GvuH2GXXX3bFt+16XDZZ/14Cf204dX2Y4FM8Irpq5/6iNr/+TdEP/b2bmHjq3cts/e3LBvuO0SGG639432slUfb4vvFeZ9LwGT5Co+nk/jR8eK92Ox8XiP83OvW2Uoj8pWPYqXjS5KZ63aPWy70noapfNjb5+XrbLSfac2awyov70OHys6V/+nx4jK0YVysixnlU6rcpPpVJ/KTduicw/zcax2OFf/vilvsu1Ke/Pi3LhL16V6VZ+Y6Vg2qg+S9vixf4dUp+rymf90ezz9SPt87VN4Mp8zT4b5sWxV/+mjfNorzO1yLp7ex5Zs9zC13ZmoXR5ezr3qU9212mLOFvFbfG9oJYHG2Z1vdBafmRwQgAAEIND0BGL+uOHFb9P3auoeOl8aGVt+OBIrX6abXJ44UvpC43z57EjpdXGj+n3Ll8eXbMpG5dHyT110j7Zp2arSS2yIj+f35axaIqn6Fe7LPWWD8mhZcnLT8l2lP9a/34Z277TB1vX22turQ9pPXlto1z/+rmlZdc/c2637sSut66EL7bT719of7plvk2/NzRxfeUtu+fWyy743PPP8+UV/H8rwJ2k/edsNtumOn4ewRyY9ZnMeedxa502w3oVTbeLct0K47NvzZe5+aR37R8tMtfm5t1P8kmE61nJVLZsWR7VdexcyzkBtFjvfPNyXOnuZ2vsyYefo7BXnS65VnxgqzOvysn2vOlSn7NOx0nm96hPlVTkK83Hh8X6uslSG0joThd26JPfjR/I74nnTS4CVV3HafK/l5yrXvzMq2xl5u2Wbt09tSG/+PVV6pUt/79w2H6u+F99Y+nT5sXPl0ye5+XJlt1tx3k9uQzq94r19zk32qU1pfskx4uUojbdXZSW35P8BD0/a5mEaP7FwxfvYSva556vWPuZsEb/F0x9/YrzHxmLxpZEDAhCAAASajUDMH9dE/OpeXz3wyj96ABZb6QR0seebX5QmwzxupL0Lo3JfMLrwGqluXQwnL2RHs8EFlQRI+uI5Vo/KdsEk8aALKYmAZJ3pfF6H0ie3GFcvT3vZpD5Ibmqfykvacf6cLTbUttkGNn9sh9a9bX0rX7YzHlxvZzyQe83UGRPW2QOTcjPQS+643HZe96/W+se/D2JZr5iS/b5sWw8H0/l/3/F82N9yy4O2+ur/CMen3b/GTh+/1jbf9d/2wr1/CWFKe/ukZ4ePdX7ttNdt74sP2INPvmoTZ79+Utyrr74dzl97a5VtW/PRcNzPHs/NViu/PpoB/t2Jdzu7OHTRpniFeVoXjmKjsOTm4sXTiquLPoV5HhdeChNbT+/8k2EaJxrjyTzet8n6XKi6gPYyvY8lfD1M7ZEo16YydKx4r1dt93zp74GzkF0qT+fJsaU2SqS7OHWO2qsNitemurxs2ezHIfLEH6VxO1RXcvO2KF6b265w1ZXcknGyy3+4UFrFySa3y/N5+5TGmaqt6iMvz9MqPs1BcWk7PCzf/wlvayH/G7zucu9jzhbxWzzls5/YZj9+YlvxGckBAQhAAAIQMLOYP66J+KU3KkfAL5JLqUEXqH4RXEr+WJ7kBX0sXmHpi1tdFI+06SJZthZrr4SBPsqfntFN1+diZjRbPJ9scWGVZqj2OQftJbpiM1wSDipH+6Sw8DrC/tgx84eCnT/zSzu0/j17bmFu6fSdT75l501ZYedNft8WPPF4KGvO1EfD/poHX7TxE3JhquM79+WWdPsrpz664ixr+cP/tg8v+UYQ2H7fs/Zazi2hLZHtwltl6CPBrTSKv+KWqfbde3KvqtLycMX/+N6l9uN7v5qp/vH974TwSx5YFPbTp+aE+wPTX7AFs5+yvS9PsnfmPxPiHp/3pp03/WPrW/mKrX3nq4edTV64LsSrfH+6932v59j9bl7uvlj1mwts9YtElT7qd4VLGLnQlYhSWc5fnCXOXEQpLiniVIafu4BWHo0tpdVH/ed9nhSr3peeLrlPijkfSx7v50rjPwSoLG+jZsjUPm+T16O93nOdbIuOfVx7+S6anYXamBayyfYpn6f1HxuSdqle1aF0ztXHvIe5TdqLlQt9ty/Jz4+T5Xq9ybbq2P8HikettpizRfwW1xuL1uduq3hs5Z7iMpIaAhCAAAQgcIJAzB8jfjM2PHSBqgvvUjZdYPtFcSn5q5lHF9D5Ln4LsaOQvEkxMlqZecXqiVnB0fIr3i/aJRLUD+rLfDao/S68JAx0rrRqly76vSyVqzDFq38lanTsH8WdLHKO2/Ghw3b589tDmgue2myD7Vtt3Cu59zr/7NH1dtZkfXIz1HfPXWF3PfWuXf/EeyfNGC+YmRO1quc3E5fZdyfkZoynTZhsv77/teH6X7314uFjpX38mkuHHzympeD6+P3VEthKs/DPPxnO48dn3/VqCHNxPvmGG2zczXeHsJm3Xh/2Evyb7vwva7/n5zZ7/P0h7PaJOaF9zoMf2ISp80LYW7Mete9NXGPLnnkqnKtOzcqf9dA6u37WSntuwXJ7762cyG/5eKUNbFxlh7ettcEdX9istzbZvYu32ux3W+3ogR47duiA3b8093AzHwP+442PGQlp9YH6TXHaVKfC1WcuHhUmYeiiUePE+1lx/nEhq3JcsHoeLyMtiFWONtWlOpNCVuNLdWmsuChWOQpXmMrW5raEk8S4cxGseLcjOUZVl8pxHrLZPz62XTirbJ99jwl9xSd5feeRLfbc2l43qWr7mLNF/BaH/4ZFue9Na+/IP4YWVyqpIQABCECgmQjE/DHiN2MjQBeXuvgrZdPFdqNsaqMujEvd/IK91PzpfH7BXSp7lacLfImLQjYJBRcsSq++U5t8Nk4CRh9tEh8uLGSfwiVeVJfqTIolr9uFjESJNhdsyudiRceqT3EqQ2UpTHVpcyYqy4+VVv2mNJ7O86gNOtarpn4+c5sd69trR/Z22lBXqw21b7Zxr3xhZ0zaYB+8/9XS684Vr9pvH/1kWPj1Ln7Eznn4I/vJQx/aWRM/sXMfetfWPznOTpuwzlZOu8O6Jl9snRMvsLXjLxvOc9U9c2znTd+1xTf/PoRddMfcsL/5pvHDaWSXZrZdiGvvr9RKhsWO/SFob1/+A9t+2dds0XW5V3P96p6Fofwpd99vn9z9Ozt9/Kdhifq6h64O4dMnP2m7n7jW7pj68rAdy56eFV79JXvumvW2nTd9tf106lq7++kVtubtpeFHifOf+MxWvP+xDWxebf8+NfejxU3PfyWO712Ue7DZS6tys+QqSzPnxwZOvFP6vS57a1Nu1m3B+n3D40WCVeNBfe3/K5I/lnn/axzqo3J9jGrMKY+nUZwLbB+Pfq48qkefZDmqy4Wv/4gT+x+gsn94z9JQ/9rLzrDx46bYxzvL/67mMMjz/Ik5W8RvHliR4O6+I/bNyZvtD/N3RmIJggAEIAABCBRGIOaPEb+FsWuYVBIXpQqwmAiq14arnfW06UI9ebFfim26uM8305suT30sYeCb950LS9niAkVpFC6RkRSiI40TFykuXrwe37vIdhvUHy5UxEKbbJId2ruw8fxK6/VLBHt/uhDyMjy99smxrXKVVpuX7T8cuG1et9KoPenNxZWHu/0SeV6+9v5E56c+2GlH9rTZUGeLDe7aaIOtn9vhLWtsYMOHdujzd61/7VLrX73EDq58xfrem28H3p5r+9+caRsW5GaQH33yReuZf69pibfKXfroxLBfN+UG63zo9/bihNxM9f33TgvhS26/zHbecKbd+5fcLLXyrPrjvwUBriXomu3WMvOkKPeZb6XV67u018fvB9exL033pe2aUVe8z6JLrGv5u+fV0viz73kjnD958zW245pv2MzbbrBdN5xpu24+y9pu/b613f6f9trdV4U0r917vd1///RwvPXBS6xz0oV2yYOL7ZwH3rMJD301m376hK+Wr6uuVXOm2jmTPrRLp75jZ01cY9+btNYenJmb0T9v2od2/ePvhRl4LYdfvmhxKP/d1163vg8X2sHVr9pDz39oP33ksxA+94oL7OYbx9v2i/+3bbzyW7Z48dvezVXZx5wt4rdw9LNX557y/srnvNu3cGqkhAAEIACBNIGYP0b8pill4DyfYBmtabFZlNHyEJ8jIOa6gHcRVyqXQvtAgi9fXW5LbBwoj8+wxgSm2610ao+Lag/3vcen7U3nkbCVqJQgdbHrZbggTZbh5ear121WPX7sItvL148IaTu8zpH2nk95/aMy9dG52lHqJmHu9qrvfNbbBbzKFQfV4/WJhTZvn+LCdvy4zfmoe9hGLbEe6t5hg+1bbHDnl7Zi1Wf2/NK1dvrEL+2n0088QG3iFyH9904sV/f2aX/ZjJX2kymf2Iync8vRN7w803oXTrFVzz5hC56aa6uenm49z95j1059zb6YPcH2PHWL7Zl1o+1+4jrrnnGVdU+/3LqmXWZbH7481DHtgan26/Gv26/vf93ax/3C2u7+qd0/LveE8z+Myz2Uzes/e9ybIc93xr1nrX/6R/vVXS+Fe8g93gW89hLtEv2aXfeno2v2/eFrrw5hSiMhr48vl5f4bb38n+2z+Y/l2FXpb8zZIn4Lh3/Rczvs6w9utENDpa/uKbw2UkIAAhCAQFYJxPwx4jeDvR0TPRlsZl01SULOBU01DBupjyWiXHTGbBlJHCfTS4CMJPhi7VVYUsxK6Olc5Yxkc7JepXPhlwzXsZetenyW3AVzsvx84jldXvrcRZfvJUSdVzptMef6wcHvUXVBrfz+A4CXpXZ53R4mdumwpFDP10dK42yU3+v1srRXfd4+iXOfPfe6i90rv/+4or73LW2H26C6k33ptni89sn3T7/8cUdYDn90X7d9b9pG+8ZDuSeO/2lebv/Gii+s99XptvnivwuCWOJ36zXftv51zPx6X9T7/pNduXeQ37bk5Kfm17vd2AcBCEAAAvVHAPFbf31SEYt00ctWXQISIMllxpWufbQ+lohwoZi2xQXGaAJRQmakelROeksKHsW5iJUtaaGXzlvMuYScl618SQFVTDnptC66XMCpjeKk+sayqe0qWw+a8ntnY+WpHqVTe3xTHygsOUusOPWPwvP1s+f3peQq29vle4X5eJA4H+sYVv/LJn3S/e32ptNIdPs4S85ye3q3T2V6OrXN2+Dpksz2zLnNWn7/N7b9kr+1nvnjHEXV9jFny8xvYfgnLs+tali5/WBhGUgFAQhAAAIQyEMg5o+Z+c0Di2AIFEvAZyKLzVeJ9CMJIhdi+WYM3Z7RBF+sjqQg9XJ8H0vvccXu07bpfLT2FFKHypHIUlnaS3jpOC3qCykrncZFn8RaPls9Tbp9siUdVuhMrbdJe7VHItHbpzA/9vam7S7m3MeWykoKVZXhbZMNbpPGS3LMuC2K9/SKl81p8a9yJJY9jy8rd3uPDw6YPrXYYs4W8VtYT/xsVov9YEZhD/4rrERSQQACEIBAsxKI+WPEb7OOBtpddgLJi/iyF17GAl0spMVJuorRZobT6at5np5VlBAqh7iW6NJHZUnAiZW2crFI251m5g/rSs/ASjDLruSmstLpkvF+LDYubHXsItHDPF259hKqyVlYL1ffD2fqs7Ye53vnLjvVPi9H6SWG821q02hs8+WtRHjM2SJ+Ryf92oYDYYxMff/UVSWj5yYFBCAAAQhA4GQCMX+M+D2ZEWcQyDwBiV6JkNG20cTxaPmrGe8idax1JkWWZhq93Gqx8B8mJP6Sm4RvOkxCMR2WzOPHLqiVVuW7SIyV6XnGspcQzSfKJeIlgmWLjmObBK9zd8HvtsfSK6wcP3zkK7uU8JizRfyOTvLWJbmn5m/dMzh6YlJAAAIQgAAERiEQ88eI31GgEQ2BLBLIJzyy2NZi2iSR5eJQM421EFX6YSK9hF5iUraVsrmgVpnJ1Qkqr1wz2km7xC+frT57K1tc2Cbz6jgZ7iI4aXc6fT2ex5wt4nfknurpP2pnTttyUv+PnINYCEAAAhCAwMgEYv4Y8TsyM2IhkEkCSYGRyQaW2CiJNp/lrYQwLMQs/TDhos/Ty658gtLT5Nsnlxsn06iOdD3J+LEc5xOrHq56XQin60kL/3R8I5zHnC3id+See2ZNb1iR8vy6fSMnJBYCEIAABCBQIIGYP0b8FgiPZBDIEgGf3cxSm8rRFhdnKqsWs76qVz9MJO1QmAThWISq32ubZKT2petJxlfyWD8w5BO5teJezvbGnC3id2TClz6/074Wnl5+dOSExEIAAhCAAAQKJBDzx4jfAuGRDAJZIjAWIZUlDvXYltgMr/prLH3m99rWU3vH0p56akfMlpizRfzGSOXC1u46FITvjYvb8yciBgIQgAAEIFAkgZg/RvwWCZHkEMgCgSzMrmWhH2JtiIlCzdCOZZa2Hpe5+/LyGINGD4s5W8Rv/l6d/F7uieTvbePdvvkpEQMBCEAAAsUSiPljxG+xFEkPAQhAoMEI5Lu/tsGa0TDmxpwt4jd/9/3yqe121vQt+RMQAwEIQAACECiBQMwfI35LAEkWCEAAAo1EIN/9tY3UhkayNeZsEb/xHly6Kfdu30nLu+MJCIUABCAAAQiUSCDmjxG/JcIkGwQgAAEIQCBGIOZsEb8xUmZ3vJ57t+9YlvXHSyYUAhCAAASanUDMHyN+m31U0H4IQAACECgrgZizRfyeinhv/9Gw3Pncua2nRhICAQhAAAIQGCOBmD9G/I4RKtkhAAEIQAACSQIxZ4v4TRLKHc9fm3u377w1vadGEgIBCEAAAhAYI4GYP0b8jhEq2SEAAQhAAAJJAjFnWyvxu2bNOrv44qvDR8fpLRm/ePEb6eiKnl/+0i7TO6h7D/Fu34qCpnAIQAACTUog5o8Rv006GGg2BCAAAQhUhkDM2dZC/A4MDNjkyTOspaXVenv32fjxU8LeW63wuXPnh1PF33nnhJDW4yu5/7xjwL7+4Ea7ZkFbJauhbAhAAAIQaGICMX+M+G3iAUHTIQABCECg/ARizrYW4lfiVuJXIljbjBlzLDb7qzilUbxEcDW26Sv2hFnfZZv7qlEddUAAAhCAQBMSiPljxG8TDgSaDAEIQAAClSMQc7a1Er8+s6vWallzPvGr8LEue+7rO2iFfn71VIv925RNBacvtFzSFd4HsIIVY4AxUK0xUDmPO3LJMX+M+B2ZGbEQgAAEIACBogjEnG2txG8hM78SvloS7TPERTW2hMTLtx4Ms77jl3WVkJssEIAABCAAgcIIxPwx4rcwdqSCAAQgAAEIFEQg5mxrIX5Hu+dXjdFsbzWFr+oct7QriN/1nbnl2AVBJREEIAABCECgSAIxf4z4LRIiySEAAQhAAAIjEYg521qIX9moWd30055d8HZ2dtmNN941HK90Y136PBIXxe0fOGo/mLHNfvlUy2hJiYcABCAAAQiMiUDMHyN+x4SUzBCAAAQgAIGTCcScba3E78mW1f7s5c/2hVnfp1bvrb0xWAABCEAAApkmEPPHiN9MdzmNgwAEIACBahOIOVvEb64X9Gojvdt398Ej1e4W6oMABCAAgSYjEPPHiN8mGwQ0FwIQgAAEKksg5mwRv2YbugbstEkb7fKXdlW2AygdAhCAAAQgYGYxf4z4ZWhAAAIQgAAEykgg5mwRv2aPf5h7t+/rGw+UkTZFQQACEIAABOIEYv4Y8RtnRSgEIAABCECgJAIxZ4v4NbtgXqt9c/LmkpiSCQIQgAAEIFAsgZg/RvwWS5H0EIAABCAAgREIxJxts4vfD1py7/Ydt7RzBHJEQQACEIAABMpHIOaPEb/l40tJEIAABCAAgeg9Rs0ufscvy73b99O2Q4wQCEAAAhCAQFUIIH6rgplKIAABCECgmQnEnG0zi98Dh4/a2U9ss5/N4t2+zfy9oO0QgAAEqk0g5o+Z+a12L1AfBCAAAQhkmkDM2Taz+F20fn94vdETH/Zkut9pHAQgAAEI1BeBmD9G/NZXH2ENBCAAAQg0OIGYs21m8XvDovYgfjsO8G7fBh/amA8BCECgoQjE/HFFxO+aNevs4ouvDh8dp7fFi98Yjr/yyputpaU1nYRzCEAAAhCAQEMSiDnbZhW/W/ccDk94vvT5nQ3ZlxgNAQhAAAKNSyDmj8sufgcGBmzy5BlB0Pb27rPx46eY9slN4jfyae3DAAAgAElEQVQmipNpOIYABCAAAQg0IoGYs21W8Tt7dU+Y9V30xf5G7EpshgAEIACBBiYQ88dlF7+axZX4lQjWNmPGnFOErsJ8ZljHbBCAAAQgAIGsEIg522YVvxc9t8NOe2iTHT12PCvdSzsgAAEIQKBBCMT8cUXE79y584eRjDTLK4GsmeGxzAL39R00PjBgDDAGGAOMgfQYGHZEVT6IOdtmFL8f7egPs753vN5R5R6gOghAAAIQgIBFXz1YEfE72sxvsjMkjvVhgwAEIAABCGSBAOI314sTl3cH8bt6R38WupU2QAACEIBAgxGI+eOyi9/R7vnV/b8rVnwU0CXTNhhLzIUABCAAAQhECcScbbPN/PYPHgvv9dX7fdkgAAEIQAACtSAQ88dlF79qWOxpz5rd1RLnzs4ue+GFhcP3/DLrW4uhQJ0QgAAEIFApAjFn22zi97UNB8Ks7/QPdlcKM+VCAAIQgAAERiQQ88cVEb8jWkEkBCAAAQhAIMMEYs622cTvrUs6gvjd0TuU4Z6maRCAAAQgUM8EYv4Y8VvPPYZtEIAABCDQcARizraZxG9r75CdOW2LXTSfd/s23ODFYAhAAAIZIhDzx4jfDHUwTYEABCAAgdoTiDnbZhK/z6zpDbO+L3+2r/adgQUQgAAEINC0BGL+GPHbtMOBhkMAAhCAQCUIxJxtM4nfS5/faf/04EYbPMq7fSsxvigTAhCAAAQKIxDzx4jfwtiRCgIQgAAEIFAQgZizbRbxu2ZXv31t/AbTPb9sEIAABCAAgVoSiPljxG8te4S6IQABCEAgcwRizrZZxO/k93aHJc8rth/MXL/SIAhAAAIQaCwCMX+M+G2sPsRaCEAAAhCocwIxZ9sM4ndg6Jj98qnt9h+Pba3zHsI8CEAAAhBoBgIxf4z4bYaep40QgAAEIFA1AjFn2wzid+mm3Lt9J7/XXTXWVAQBCEAAAhDIRyDmjxG/+WgRDgEIQAACECiBQMzZNoP4veP13Lt9t+45XAI1skAAAhCAAATKSyDmjxG/5WVMaRCAAAQg0OQEYs62GcTvWdO32AXzdjR579N8CEAAAhCoFwIxf4z4rZfewQ4IQAACEMgEgZizbQbx+3fjN9j8tb2Z6EMaAQEIQAACjU8g5o8Rv43fr7QAAhCAAATqiEDM2TaL+D04eKyOegJTIAABCECgmQnE/DHit5lHBG2HAAQgAIGyE4g522YQv190DpSdJQVCAAIQgAAESiUQ88eI31Jpkg8CEIAABCAQIRBzts0gfiMoCIIABCAAAQjUjEDMHyN+a9YdVAwBCEAAAlkkEHO2iN8s9jRtggAEIACBeiYQ88eI33ruMWyDAAQgAIGGIxBztojfhutGDIYABCAAgQYnEPPHiN8G71TMhwAEIACB+iIQc7aI3/rqI6yBAAQgAIHsE4j5Y8Rv9vudFkIAAhCAQBUJxJwt4reKHUBVEIAABCAAATOL+WPEL0MDAhCAAAQgUEYCMWeL+C0jYIqCAAQgAAEIFEAg5o8RvwWAIwkEIAABCECgUAIxZ4v4LZQe6SAAAQhAAALlIRDzx4jf8rClFAhAAAIQgEAgEHO2iF8GBwQgAAEIQKC6BGL+GPFb3T6gNghAAAIQyDiBmLNF/Ga802keBCAAAQjUHYGYP0b81l03YRAEIAABCDQygZizRfw2co9iOwQgAAEINCKBmD9G/DZiT2IzBCAAAQjULYGYs0X81m13YRgEIAABCGSUQMwfI34z2tk0CwIQgAAEakMg5mwRv7XpC2qFAAQgAIHmJRDzx4jf5h0PtBwCEIAABCpAIOZsEb8VAE2REIAABCAAgREIxPwx4ncEYERBAAIQgAAEiiUQc7aI32Ipkh4CEIAABCAwNgIxf4z4HRtTckMAAhCAQJEEFi9+wy6++OrwmTFjTsjd27vPdDwwMFBkafWXPOZsEb/1109YBAEIQKDZCTSjP0b8Nvuop/0QgAAEqkigpaXVJk+eMSxyly171xSG+B20pECWgGaDAAQgAAEIVIpAs/pjxG+lRhTlQgACEIDAKQQkcu+8c0IQvB6p2d7x46eEmeArr7w5xMkp61gzxD477I76xhvvCuHKU48zxcz8es+yhwAEIACBeiXQrP4Y8VuvIxK7IAABCGSUQFLsasmVNhe2ipNDlrDVXpvPDiuNhLOHSxR7/pCwTv4gfuukIzADAhCAAARGJNCM/hjxO+KQIBICEIAABCpJQAJ2zZp1J4nf5Kyv3xucTiObFIb4rWTvUDYEIAABCDQLgWbxx4jfZhnRtBMCEIBAHRBIC1afvR1p5tfNTqZRmDtqj6+XPTO/9dIT2AEBCEAAAvkINKs/RvzmGxGEQwACEIBA2Ql0dHQG0eozuhKw2pJLr3yW1+/5jd0HnLwXuOxGjrFAxO8YAZIdAhCAAAQqTqBZ/XFDi9++voOmTzNvR44cse7unmZGENouBmLRzBvfBwtjgO+Dhf8JWfw+pGd+R/q+1/L70Izit5a8RxoH1YzDH+do448tXJtyfcr1qb4RWf0+NLI/RvxW0zNWoC6cLc7WhxUXn4hfHws429pefCJ+fSQ21x5/nOvvrP7/KWY044/xxz5esvp9QPx6D1d5zz8X/rn4kMvqPxdvXyF7vg98H3yc8H1A/PpYqNae/z/8//Gxxv+f2v7/8X6o9Z4fg3I9wPehtt+H2I/RNZn51a8Ffi/XWJ7UibPF2fo/d/651Pafi/dDrfc4W5ytj8Fa+oeYsx0cHLRiPiqjGhv+uHyU+f+TY4k/xh9rJPB94Pvg/13rzR/XRPz6Ezr1gJPJk2eEV1w4oGL2tYRZjJ2VTMs/lxxdnC3OViOB7wPfB/9/W0v/0EjiF3/sI2bse/7/8P/HR1Et//+4DbXe833g++BjsJbfh5g/rrr47e3dZ+PHTzHttWnmt9TZX8Fsb+/iAwPGAGOAMcAYOGUMyEfUYos522JmfZW2GjO/+GOuH7iGYgwwBhgD1RgD9eSPayJ+9UuzZn21pd8xVcyFikB2dOQGbUdHd7jwYd+cHPyLS//zfdBYaPZxwPch93+wnpxtvYpf/DH/L8r9/5L/P34dhj/GH38lrMv9PWu08urJH9dE/JZz5rdWMIsR6ZVMy7KSHF2WPbPsWSOB7wPfB/9/K99QK//QrDO/teLtfV7rPf9/+P/jY7CW/3/chlrv+T7wffAxWMvvQ8wfV138CgT3GPlwGPuefy45hohfxK9GAt8Hvg/+X7XenG09zvyKFf7YR8zY9/z/yTHEH+OPNRL4PvB98P+q9eaPayJ+ebqkD4ex7/nnwj8XH0W1/OfiNtR6z/eB74OPwVp+H2K/NNer+MUf+4gZ+57/P/z/8VFUy/8/bkOt93wf+D74GKzl9yHmj2sifh3GWPe1hDlW28uVn38uOZL80swvzRoJfB/4Pvj/1lr6h5izrVfx67zGuq8l77HaXq78/P/JkcQf4481Evg+8H3w/6219A8xf4z49Z5p0D3/XPjn4kO3lv9c3IZa7/k+8H3wMVjL70PM2SJ+vWeyu+f/D/9/fHTX8v+P21DrPd8Hvg8+Bmv5fYj544YWvw6VPQQgAAEIQKBeCMScbdbFb72wxw4IQAACEICAE4j5Y8Sv02EPAQhAAAIQKAOBmLNF/JYBLEVAAAIQgAAEiiAQ88eI3yIAkhQCEIAABCAwGoGYs0X8jkaNeAhAAAIQgEB5CcT8MeK3vIwpDQIQgAAEmpxAzNkifpt8UNB8CEAAAhCoOoGYP0b8Vr0bqBACEIAABLJMIOZsEb9Z7nHaBgEIQAAC9Ugg5o8Rv/XYU9gEAQhAAAINSyDmbBG/DdudGA4BCEAAAg1KIOaPEb8N2pmYDQEIQAAC9Ukg5mwRv/XZV1gFAQhAAALZJRDzx4jf7PY3LYMABCAAgRoQiDlbxG8NOoIqIQABCECgqQnE/DHiNyNDYsaMObZmzbqMtGbszYCHhfEgDs28DQwM2OTJM6ylpbWZMRjfh+p+H2LOFvHbPF9Bvm8n9zU8qvv/52T69XOGP871Bd+H6n4fYv64YcWvhN7FF18dPv8/e2fCZsdxnecfpcSO7dhx4tiJE8exs3iN5NjyEpmKbEe0HMW0LNmSHMcGKYokKJKCRFEC930BSXFfQYokuJPYBoMBZh/MDBZiIQii8rx98c2cKdTdZu7c9evnudPdVadOnXrrdFed23eqRynoYxJ/6aVfWmn7jh2PVVfTqFxM9PWWLVsTN1FttB1fuOyyr6fl5aNDz4M2fu1rl68J6MQgcoAV6cO20ff4QGwrbYzXhq6LYR5s4z1Q7cU3uA50b1T/sx/G+2Rsb7z+Ixu1m714bPY1URpshzn4LfHebMb9oD/ec7jmdB0O6/WWM6ffPR57PPZ4XAvmNO7qPhDHJ/I0/gzr/SG2t9/H44EMfuOEFthceOxHYWOwvfnmOy9q6rBeTLGhmmDFwRYePNnDJ+Lkdlh56ObCFyC0XRs+Ec9JjzwkNwz72FYGmXxAifeHeDwMbVcb4n0An9CXIRzDg3bHbVivh9wX8IfY5/DQ+NDN62GUgt96vKP/DetxvA5jG4f1eott9Hicqnknk3yPx7W5iMfjmk94PE7VF4H9PB4PZPDLgKOAh5vxKAw0GnQ04PAtUvxmRQyYiDDZ43wYt3xyz8XFhy1OdIedR5z0q8/zbx3jZB9G0V+GxTdoI22LfU/b5Bf5xBwG8pdhYUAb8XcYcG/UL0PihGzYrwf6Um2sNz5083oYpeC3Hu9hub4atcPj8dov23TfhVm8J+va1FjF+TBtHo9rvenxOFVfvuLfHo9rvzarNz70ejwe2OCXm402briAHLWNdmsQYb9z5ytV4DvMLLih0FYGUbbY9zEIGHYecbCNfg8ffeuom0v0kyg76Mexv3O/oO20Gxm+KONcXAa93bn9amspXb+SGObrgX7mix84sDHYlsYH8uHQjeth1ILfEu/cH4f9PPrVMF9vsR/z+y4MdB3G+/Ow8/B4vDboy/1CY5TH49q/7A3z9TAo4/HABr+j+uQ3DjzxGxUuJp70fPWrWy76+WssM+jH+U2VC40PG3n6ieOw86g32MKBtjPY8CEowCfEaND7X/YziNLXmmjFvkdGfiE5rg35hnQMw572K8DN2xOZDPv1QNtpI594X1R6t6+HUQt+PR7XvnQRh1G43ri2PB7X7roejz0e4wkej2vXA3/7fTweyOBX3x4xyYkTvFXsw3v01FPPrXnqqaAGR+PCywejYSORty9OdGk/HNiGnUccbGHw/vt7q3bH6yHyiPKD7hO0kZ8v0764qc/j/SEewwkOw7Jx7eeBL7/+gA9b7H+xya+fQWdx990PXtTe2Oe9uh5GKfitx3vQfasV+z0er/0llsfj2pcgHo9X52Dx/hCPPR4P33x9kMbjgQx+NbHT/zjmk+BWBq1BlOHGQVv1P31x4qvJLe0qTYoHsb25zbRRfR5/5qj0+D+tw8qD/o8MaCcTfJ44KF3XA3vy2Rho4MN+0Df8W21lr36nbbo29KVQHGxpNzzEZJA50Oe0O3KgzUy6lC4uarf8YljuD/n9MLY3Xidqdzevh1EKfvGvEu9Bvr5asT33P4/HtS8jub/G+/Kw3n9yv6fNtN3jce2tGx6PPR5zLeTXSb+MxwMb/FZE/ccETMAETMAE+ozAqAW/fYbf5piACZiACZhARaA0Hjv4tXOYgAmYgAmYQAcJlAbbYX7PbwfRWZUJmIAJmIAJdIxAaTx28NsxvFZkAiZgAiZgAimVBlsHv/YMEzABEzABE+gugdJ47OC3u33g2kzABEzABIacQGmwdfA75J3u5pmACZiACfQdgdJ47OC377rJBpmACZiACQwygdJg6+B3kHvUtpuACZiACQwigdJ47OB3EHvSNpuACZiACfQtgdJg6+C3b7vLhpmACZiACQwpgdJ47OB3SDvbzTIBEzABE+gNgdJg6+C3N33hWk3ABEzABEaXQGk8dvA7uv7glpuACZiACWwCgdJg6+B3E0BbpQmYgAmYgAk0IFAajx38NgDmLBMwARMwARNol0BpsHXw2y5Fy5uACZiACZjAxgiUxmMHvxtj6tImYAImYAImsIZAabB18LsGkU9MwARMwARMYNMJlMZjB7+bjt0VmIAJmIAJjBKB0mDr4HeUPMBtNQETMAET6AcCpfHYwW8/9IxtMAETMAETGBoCpcHWwe/QdK8bYgImYAImMCAESuOxg98B6TybaQImYAImMBgESoOtg9/B6DtbaQImYAImMDwESuOxg9/h6V+3xARMwARMoA8IlAZbB7990DE2wQRMwARMYKQIlMZjB78j5QJurAmYgAmYwGYTKA22Dn43m7r1m4AJmIAJmMBaAqXx2MHvWkY+MwETMAETMIENESgNtg5+N4TUhU3ABEzABEygbQKl8XhN8Ds2NpbOnTvXtmIXMAETMAETMAETSNUYyljabrCby3s8tjeZgAmYgAmYwPoJENOWxuM1we/s7Gyam5tzALx+zi5pAiZgAiYwogQYaBlDGUvzYLbdc4/HI+pEbrYJmIAJmMCGCTQaj9cEvwzODLhEyTwm9scM7AP2AfuAfcA+0JoPMHZ2IvBVoOzxuDXu9k9zsg/YB+wD9oHoA43G44uCXw263n+44W/uzdAM7QP2AfuAfcA+YB+wD9gH7AP2AftAf/iAg98P+6MjfEG4H+wD9gH7gH3APmAfsA/YB+wD9gH7wOb5gINfB79+wm0fsA/YB+wD9gH7gH3APmAfsA/YB4beBxz82smH3sn97dnmfXtmtmZrH7AP2AfsA/YB+4B9wD4wKD7g4NfBr4Nf+4B9wD5gH7AP2AfsA/YB+4B9wD4w9D7g4NdOPvROPijfRNlOf2tqH7AP2AfsA/YB+4B9wD5gH9g8H3Dw6+DXwa99wD5gH7AP2AfsA/YB+4B9wD5gHxh6H3Dwaycfeif3t2eb9+2Z2ZqtfcA+YB+wD9gH7AP2AfvAoPiAg18Hvw5+7QP2AfuAfcA+YB+wD9gH7AP2AfvA0PuAg187+dA7+aB8E2U7/a2pfcA+YB+wD9gH7AP2AfuAfWDzfMDBr4NfB7/2AfuAfcA+YB+wD9gH7AP2AfuAfWDofcDBr5186J3c355t3rdnZmu29gH7gH3APmAfsA/YB+wDg+IDDn4d/Dr4tQ/YB+wD9gH7gH3APmAfsA/YB+wDQ+8DDn7t5EPv5IPyTZTt9Lem9gH7gH3APmAfsA/YB+wD9oHN8wEHvw5+HfzaB+wD9gH7gH3APmAfsA/YB+wD9oGh9wEHv3byoXdyf3u2ed+ema3Z2gfsA/YB+4B9wD5gH7APDIoPXBT8zs7OprGxsbRv3z5/zMA+YB+wD9gH7AMt+gBjJ2NopyYAHo89D/FczD5gH7AP2Afa94FG4/Ga4JeBdm5uLp07dy55MwETMAETMAETaJ0AYydjaCcCYI/HrXO3pAmYgAmYgAlEAo3G4zXBL1GyA9+IzscmYAImYAIm0DoBxlDG0o0+/fV43DpzS5qACZiACZhATqDeeLwm+OWxujcTMAETMAETMIH1E2As3Wjw6/F4/fxd0gRMwARMwAQgUBqPHfzaN0zABEzABEyggwRKg227wbCD3w52iFWZgAmYgAmMJIHSeOzgdyRdwY02ARMwARPYLAKlwdbB72bRtl4TMAETMAETKBMojccOfsusnGoCJmACJmAC6yJQGmwd/K4LpQuZgAmYgAmYwLoJlMZjB7/rxumCJmACJmACJnAxgdJg6+D3Yk5OMQETMAETMIHNJFAajx38biZx6zYBEzABExg5AqXB1sHvyLmBG2wCJmACJtBjAqXx2MFvjzvF1ZuACZiACQwXgdJg6+B3uPrYrTEBEzABE+h/AqXx2MFv//ebLTQBEzABExggAqXB1sHvAHWgTTUBEzABExgKAqXx2MHvUHStG2ECJmACJtAvBEqDrYPffukd22ECJmACJjAqBErjsYPfUel9t9METMAETKArBEqDrYPfrqB3JSZgAiZgAiawQqA0Hjv4XcHjAxMwARMwARPYOIHSYOvgd+NcrcEETMAETMAE2iFQGo8d/LZD0LImYAImYAIm0IRAabB18NsEmrNNwARMwARMoMMESuOxg98OQ7Y6EzABEzCB0SZQGmwd/I62T7j1JmACJmAC3SdQGo8d/Ha/H1yjCZiACZjAEBMoDbYOfoe4w900EzABEzCBviRQGo8d/PZlV9koEzABEzCBQSVQGmwd/A5qb9puEzABEzCBQSVQGo8d/A5qb9puEzABEzCBviRQGmwd/PZlV9koEzABEzCBISZQGo8d/A5xh7tpJmACJmAC3SdQGmwd/Ha/H1yjCZiACZjAaBMojccOfkfbJ9x6EzABEzCBDhMoDbYOfjsM2epMwARMwARMoAmB0njs4LcJNGebgAmYgAmYQDsESoOtg992CFrWBEzABEzABDZOoDQeO/jdOFdrMAETMAETMIEVAqXB1sHvCh4fmIAJmIAJmEBXCJTGYwe/XUHvSkzABEzABEaFQGmwdfA7Kr3vdpqACZiACfQLgdJ47OC3X3rHdpiACZiACQwFgdJg6+B3KLrWjTABEzABExggAqXx2MHvAHWgTTUBEzABE+h/AqXB1sFv//ebLTQBEzABExguAqXx2MHvcPWxW2MCJmACJtBjAqXB1sFvjzvF1ZuACZiACYwcgdJ47OB35NzADTYBEzABE9hMAqXB1sHvZhK3bhMwARMwARO4mEBpPHbwezEnp5iACZiACZjAugmUBlsHv+vG6YImYAImYAImsC4CpfHYwe+6ULqQCZiACZiACZQJlAZbB79lVk41ARMwARMwgc0iUBqPHfx2gPZru15Pv/yf/msaHz9Yabt667fS7/7+H6Xlo0c7oL19FdjzV1/+Sjp9+vRFhbFNediHnaS1u9FW2nz/Aw9WRdlHBvl5u/p7Lb8RNiXbI/dm+Z2uu1Rfr9Pya6Zb9nTSL7m+uJbqXT95fn7NdKvNG62nXX+ERy/vfxttbyfKlwZbB7+dIGsdo0ZgvfdszYNmZ2fXPc/pBOv12t+Juq3DBEwgpdJ47OC3A54RJ/Ka8MZAcCNVMGH+3d//w5XAuhVdTD654Za2GIRpMq5guCRPmia/tFMbxz/2kz+9MvHPb/D5ucptZI/OZrZuRH8sqzbXC2yibCvHkXtJPua32i8lPYOSFq+ZbtrcSb/UtV7PR/L8/JrpZrs3Ule7/giPRsHveu5pG7G/F2VLg62D3170hOvsJYFOjNncT5hrxPlHK22iHPV3eixvpe4os177o47NOsY2Pt5MYJgJlMZjB78d6PHNnMi3q5sJ99//w5a6wTI3unYDSE1+Gw0+eVCRn3cAc3WTbtf29dbb6QGzGfdm+ettR7+Wa9evO9WOTvplHtzmNjbLz+WH5RxfbhT89qrvu8m3NNg6+O1mD7iufiDQq3EtzoM6PZb3A9dO2DCq41Mn2FnHYBEojccjE/wy4eLbw/ghkNJPYl54cWcVFOobRm7aUZZJc9xiPsfxSS/ncfKnm6/0RV3IYsett9+xUp/yc5ulU8FoSR95BL/c2Nhi3ZSnLgWQysMGbRxLL/Jvvv121TalqZ2yQbayVx66dI4tKhvrQSbWJZtUlnP6hLIcf+ObV6/oIS3XJftll+qEIZvaCmf0kY+9773//ppzykd5ZOEgeeUjU6+uWJ5yOfdm+bJVbVQ9jz/x5Iot6EROW+4r1Ivt+IHKk8ZHfaayGgQlr/NYB7bEc3RIX0yX7fn1RF2xvzmO/iJb6u3r1Uc69cNG9qA78uBcG/LU28gv69WFjsjyTz//54lP1N8oX3noZ6tnu2xVP6hd2sunqVdpsQ9UPq9P57JXfZWfS6fszOXQH/lKXv6DPuz57vduWrFPuvJyJbtl/yDvS4Otg99B7lHb3i6BeH/iHqH7DHs+3BOUnt8XdC+hTuTiWEFZ8ktzJtnIvU7zoNL9S2m6d+n+RHn0K519npfbrvtqvfG5Xfub3ffVxnyPHfxKEJbcV2G2e8/elfmN2kR+qQ61U+2J8nldPjeBQSJQGo9HIvjVxcxFz6abJzcA3QTjzZU0ZMiXfMwv3cxiPmU1qdNNhjQ23aDYS3e8waJbZcnH5qhb9kof+gk0ZCvlYx6DhAYSlc3PJZ+3i8Bw/ODEyoRf/NQO7KIMW16W89guysZz8tVOMYq6kJVdVQVZvykt7tU+6aFO1aE8sax3rjqVr/KyUefKL9Ul2ZyzzpvlS7dskf/Wq1v56h/Kqa5cF3VHfxE/2lGPjeyVPVFWeXl90lXSTxq6chnJ5nvaFWUpG22JvoJt+Xksq3z2bLlfNqorZynusqVZvuRVt2xR+VLd4qqyyLBRNrZL12qVeeFP3jdqa0mnZGUL9enfLeq1S7ZQRjqpmvN61zr5eTujzcNyXBpsHfwOS++6Ha0SyO8NlMvvD6TxRRn3HDbdp+J9Mt7r8vLIaWysFFy4PyLHlt+/mt3rKIcMG8eN6kZG92bZoPrWaz916n4q3brXVkbV+SNZ2SHbYMumditf5+KETG479Uq+UuI/JjCABErj8UgEv/lkK94sdbHHG0Det7oZsy/J5/rRpRtGnqcbjm6MUZZ6c/n8XOWlP7cVfZSRLiahOieNfN1Y87YgFyet0q2batSjNLWDfRwk8vNYl45Vlno4ll15WdkRbVda3FMuclE92K1jdLCJo+rMz3N5ykS7GtUljpFXtL1Zfl53zlq2qi3oy9mLg2R1HnnFY9WBLo7hwlNN2hnzctvQEdtTyi+l5TZHW+Kx7FdbVZ/aE/tEedHno23k5/LRtnbryuVz3Xm+OCJXskX52JyXlZ0qq3bpvFJY+EN+ZMXTEAW1MS/vD9WPjOpWH+SyUQ8mIKc6Oc/l8/OC2QOfVBpsHfwOfLe6AW0S4F6gMVZF8/uD0rXP7zfcX+L4liwJABMAACAASURBVJcv3U+QIZ0t15fLx3udbNAe2Tie5HUjp/s2drJJH7Js7difl5Xt0l0prPMnt6MkFm3J65Kt8d6t+sWypNNpJtDvBErj8UgEv7op6ALmpqQbky5unasTdWPgxqcP5UvypNe7OXOzUfm4182MeuPNJteVn2OfbEBfrJd0Ahbay0ZZZNhroz4NRtIT2x7tVXrOD11KUzvYR1vyc/Gk7t179lSykQfHsisvW7JdaXGPvblOtT9va7SH4/w8l6eeyLNRXVFO9iGv9jXLz+vOWcvWev1DuvKoX/pgEftItkUZysE/7rFX5XJbKBvTVFep/pgWdUY78mPpy/tV10zuKznb/DyXF0v6Rv8C0WpdKqt21dOt/MiJdubyysdmNsrJZ8hT0CpGlJetqkN52qv9+hm69qRH/VGXdLInXX2gOkp2Kk92q384py75T+lctg7TvjTYOvgdph52W1ohEO8xkict3h+Unt+DdE8hPd4/8vL5/YX7VZwH5fevvB7d70hn031d6eypgy2vmzTdD/Py67Wfco3u+5UhhT+5HRJR+9UesVQ7ZSfyHEsu7tV+6fTeBAaJQGk8Hongl06KN7x449WNId4AdBNRGhe+boAl+fzmSznVkeflDhNlycvl8/NYXjcv3SiR1bF0yW6Voz7JlNoiOXSprHiQpk1puuGz100Vmfw81qVjlZVO7fOySo+2Ky3uKSfuMZ1j1YkOtpxdfp7LUyba1aiuyK6qLAtkmuXndeesZavaIts0WNVjoHLqf9mmvfjydJD2YSe6+NmUyuS2UTa2p5RfSqNM9BfZkO9lc2xrlIl9kttSOs/lo23t1pXL57rz/Lwfc3nlw4ZNtqlfkS9tkX+eLx30oSaEsKSP6VPpbNQf0hH7gHKyK/c35GJarjs/z20ehvPSYOvgdxh61m1ohwD3Ao0dKpffH3Sf1D0jv9/k98m8fH4/4TzWmevL5WUXe92DqYMNWc2DOM/rjmV0L1V7pKNd+2Wv7q/SWxnU4I9sj/KyX2nRltxOVJOvfmhQlbNMYKAIlMbjkQh+uSkw8eOmkm+60ehGRb5uGOzZyMtvgHHiTn5+rhuIbjD5zZh06ZYs59QZdeW2UI6FHkrluXHpJocutU111ztX26lLbY430nhcGR0GCdXHPtrNOcxifmSYy9Me9U+epzqxM7Jq1h7KzczMVMUlq7ZSH1zEJj+XvOrTueR1Ln2lunLZds+lO+cvW2N+Pf9Gtp6/UD72mXxNabQRvTxxVF20M/aPbMnbFuUpk9eVn1edVOeP7JJvUie2sUVbOM9l83PkG/llLh/rUj+obes9x4aS7dKndlKPZKsC4Q8yklM5ZOWX6g+KoIc2K41y9Cn9LB15P1IOXWo/10Fsdz1/U326bjinDvmUzuO9gLRh20qDrYPfYetlt6cZAe4Z8V6AfJ6me5buL9wvuD/onPtavH/k5fP7C/Lxvpnrb3SvU93sZWu8V+V1IxPvv5xL/3rtp1y0vzKkhT+5HRSJ7GSXWOpc4wLyOSvSNIdqwQSLmEBfEiiNxyMR/Ooi5yYWP9wYShd7Lq9V/HRDzPMJLuJPEvMbZC7f6Gaa38jxJPRRhpvWQzseWdOG/EYmG+WBuiFSnkGo3lO8ko26eaMLVmJHHdKrm7TONdCRzk01rsiY2xZ1olv1ka52qR3s1VfIols/n1aduQxy0qOyqkPt1Y0/P5e8+l51IqdNMuTFusgXD9Jz7s3ypVe2SpdYy1bl61x2aI88zHXOXjxiGfWL6hHPkozaHvtO8uTltks+6sKO/JqRXL193g71W+4rklOb8nPkm/mlyoib6sK2mEc6T1DVD83yxRcb2HLblZ/bLjvYw3p2bq5qQ0yXDdIR+4R6kG0kgz15H1EGW/I+Lckhq3ZRT6wfHfK7quHZPQ2bh20rDbYOfoetl92eZgR07+D+oPtofn9Ah+5Ruk8ho/tVfp/My8f7i+5NuofKPsrEe5TkSNOHMnm6xn/py+tGv+65uv9Jx3rsRx91ySbt4/1Ubcr3uR3kR/7cg2vt+cPKZvJVhnpkbyxDen7vzuv1uQn0O4HSeDwSwS83Jd141Ulc6Hma8gZxz02s0dOYQWyTbW6NwCj4d2skhkdKExBNumiZJioxrRcttr81p14abB38NudmCRPYCIFBnwf1831/I/3isibQSwKl8Xgkgt/82zrdYPRNVy87pVN1MyEdpvZ0isso6Bl0/8Z39Q133I/yN84KdGGjjeN+YDLo/iaem7kvDbYOfjeTuHWbQO0J8iDPgxrd99966+3qFzVxjNTxILfZfmsCm02gNB6PRPCrn6HoRsHeN4vNdjfr7xYB+3e3SHe3nvznb/0Q+ELA/tbcD0qDrYPf5twsYQKjTqBf7/uj3i9u/+ASKI3HIxH8Dm6X2XITMAETMIFBI1AabB38Dlov2l4TMAETMIFBJ1Aajx38Dnqv2n4TMAETMIG+IlAabB389lUX2RgTMAETMIERIFAajx38jkDHu4kmYAImYALdI1AabB38do+/azIBEzABEzABCJTGYwe/9g0TMAETMAET6CCB0mDr4LeDgK3KBEzABEzABFogUBqPHfy2AM4iJmACJmACJtAqgdJg6+C3VXqWMwETMAETMIHOECiNxw5+O8PWWkzABEzABEygIlAabB382jlMwARMwARMoLsESuOxg9/u9oFrMwETMAETGHICpcHWwe+Qd7qbZwImYAIm0HcESuOxg9++6yYbZAImYAImMMgESoOtg99B7lHbbgImYAImMIgESuOxg99B7EnbbAImYAIm0LcESoOtg9++7S4bZgImYAImMKQESuOxg98h7Ww3ywRMwARMoDcESoOtg9/e9IVrNQETMAETGF0CpfHYwe/o+oNbbgImYAImsAkESoOtg99NAG2VJmACJmACJtCAQGk8dvDbANiwZZ0/fz6dOXOm+nz00UfD1jy3xwRMwAT6gkBpsHXw2xddYyNMwARMwARGiEBpPO5a8Ltjx2Np27btRdzkXXLJF6rPpZd+KY2PTxTlnLgxAgS/R48eTceOHUsOfjfG0qVNwARMoB6B0mA76sHvJ7bsTnxu/NFiPWxONwETMAETMIGOEiiNx10JfhXcNgp+X3/9rY421souJuDg92ImTjEBEzCBThMoDbajHvzumT9TBb8Kgh9691insVufCZiACZiACawhUBqPuxL8YgVPc2+++c41BumEoFhPfusFyJL1fv0EHPyun51LmoAJmECrBEqD7agHv2L3woEP1gTBL0+cVJb3JmACJmACJtBRAqXxuC+CX7Xy9OnTacuWrWkjT4FPnPgg+VOfAT975nP8+HFzsq/YB+wDQ+0DGlu6vS8Ntg5+1/bCvW8fXRMEH1j8cK2Az0zABEzABExggwRK43FfBb+0j59I8/HWeQJ+8tt5ptZoAiZgAjmB0mDr4DenlBJj0g07j6wJgo+fOXexoFNMwARMwARMYB0ESuNxz4Pf5eWjaefOV6rm8OT3mmu2ecGrdXRuK0Uc/LZCyTImYAImsDECpcHWwW99pnMnPloTAG9/bam+sHNMwARMwARMoEUCpfF404Nf/ZRZ/9Or1Zx5ustPnGdn59Lddz+48j+/furbYm+uQ8zB7zqguYgJmIAJtEmgNNg6+G0O8d2Z02uC4Eff96JYzalZwgRMwARMoB6B0ni86cFvPWOc3n0CBL+84kif7lvgGk3ABExg+AmUBlsHv633+zP7T6wJgl877EWxWqdnSRMwARMwAREojccOfkXHexMwARMwARPoAIHSYOvgt32wd7yxvCYIPrTsRbHap+gSJmACJjC6BErjsYPf0fUHt9wETMAETGATCJQGWwe/6wP94bnz6ZrnFlaC4Kuem09nPjq/PmUuZQImYAImMFIESuOxg9+RcgE31gRMwARMYLMJlAZbB78boz519OxKAPyJLbvTba8vb0yhS5uACZiACQw9gdJ47OB36LvdDTQBEzABE+gmgdJg6+C3Mz3wxuSpNUHwk/tOdEaxtZiACZiACQwdgdJ47OB36Lq5foNY8Cp+6ks6xwRMwARMYL0ESoOtg9/10iyXe2zP8TVB8FvTp8qCTjUBEzABExhZAqXx2MHvCLmDXnV09OjRasXnEWq6m2oCJmACXSNQGmwd/G4O/lt2rV0Ua+bY2c2pyFpNwARMwAQGjkBpPHbwO3DduH6DFfweO3bMwe/6MbqkCZiACTQkUBpsHfw2RLahzJNnP05XhUWxrntxIZ372ItibQiqC5uACZjAEBAojccOfoegY1ttgoPfVklZzgRMwATWT6A02Dr4XT/PVktOLH245qfQd73pRbFaZWc5EzABExhGAqXx2MHvMPZ0nTY5+K0DxskmYAIm0EECpcHWwW8HATdR9eqhk2uC4GfHPmhSwtkmYAImYALDSKA0Hjv4HcaertMmB791wDjZBEzABDpIoDTYOvjtIOAWVT38/rE1QfD7c6dbLGkxEzABEzCBYSBQGo8d/A5Dz7bYBge/LYKymAmYgAlsgEBpsHXwuwGgGyz6vVcWV4Lgf3hyLh354KMNanRxEzABEzCBQSBQGo8d/A5Cz3XIxnPnziVWeuZz5syZDmm1GhMwARMwgUigNNg6+I2Eun987PS5ROD7iS27q8+2l4503wjXaAImYAIm0FUCpfHYwW9Xu6C3lTn47S1/124CJjAaBEqDrYPf/uj7fQtnVgJgAuH73znaH4bZChMwARMwgY4TKI3HDn47jrl/Ffpnz/3bN7bMBExgeAiUBlsHv/3VvzsPfrAmCObcmwmYgAmYwHARKI3HDn6Hq48btsbBb0M8zjQBEzCBjhAoDbYOfjuCtuNKePKrn0Kz37/gfwnqOGQrNAETMIEeESiNxw5+e9QZvajWwW8vqLtOEzCBUSNQGmwd/Pa3F/A/wAqC+d9g/kfYmwmYgAmYwGATKI3HDn4Hu0/bst7Bb1u4LGwCJmAC6yJQGmwd/K4LZVcLsQp0XBTrez9a7Gr9rswETMAETKCzBErjsYPfzjLua20Ofvu6e2ycCZjAkBAoDbYOfgenc3fPrV0Ua8d7xwbHeFtqAiZgAiawQqA0Hjv4XcEz/Ade7Xn4+9gtNAETSOnkyZPV5/Tp0z3BURpsHfz2pCs2VOmzYydWfgrNT6JfOXRyQ/pc2ARMwARMoLsESuOxg9/u9kFPa3Pw21P8rtwETKBLBI4fP169z9zBb5eAD3k1d725uijWVx6dSRNLHw55i908EzABExgOAg5+h6Mf190K/+x53ehc0ARMYIAIOPgdoM4aEFPPfXw+Xffi6qJYVz4zn06e/XhArLeZJmACJjCaBBz8jma/r7Tawe8KCh+YgAkMMQEHv0PcuT1u2syxs+myHdMrP4e+ZddSjy1y9SZgAiZgAvUIOPitR2ZE0h38jkhHu5kmMOIEHPyOuAN0oflvTZ9Kf/HA1EoQ/Pje412o1VWYgAmYgAm0Q6Cvg9/XX38rbdmyNfXqf7TaATmosg5+B7XnbLcJmEA7BBz8tkPLshsh8OS+1UWx/ubRmfTmVG8WWdtIG1zWBEzABIaVQN8GvwS+l1zyBQe/m+x5Dn43GbDVm4AJ9AUBB7990Q0jZcRtu5ZWngJ/7bHZNHX07Ei13401ARMwgX4k0LfBL7CWl4+mbdu2+8nvJnqOVns+duxYOnPmzCbWZNUmYAIm0DsCR48eTdznPvjgg54YURps/aqjnnRFVys989H5dM1z8ytB8NYXFtKH58531QZXZgImYAImsEqgNB73zauOOhX8njp1OvlTZvDBByer138wMWRSaE5lTuZiLvaBwfYBAl/uc6dOnVodAbt4VBpsHfx2sQN6XNXh5bPpLx9aXRTrjjeWe2yRqzcBEzCB0SRQGo+HLvgdza5trdX+2XNrnCxlAiYw2AT8s+fB7r9hsX7X5Kl06X2ri2I9vf/EsDTN7TABEzCBgSDg4HcgumnzjHTwu3lsrdkETKB/CDj47Z++sCUpPbr72MpPoS+563B6d9aLYtkvTMAETKAbBPo2+OV/fVnwSh8WwPLWeQIOfjvP1BpNwAT6j4CD3/7rE1uU0g9eXVwJgr/6w5k0/8FHxmICJmACJrCJBPo2+N3ENlt1IODgN8DwoQmYwNAScPA7tF078A078eHH6cpnVhfFumHnkYFvkxtgAiZgAv1KwMFvv/ZMl+xitWcWguFz9qxfw9Al7K7GBEygywQc/F4MnF9UXXbZ16s3K1ycW07ZseOxlV9kXXrpl9L4+ERZ0KltEziw+GH664dXF8W69+2jbetwARMwARMwgcYEHPw25jP0uXrVEaug+lVHQ9/dbqAJjCwBgl8+p0/35n8rS4NtL1d7JmjdsmVruuaabW0Hv/43pM29jF6eOJn+5O7D1c+hP3vX4fTCgd68nmtzW2ntJmACJtAbAqXxuG9We+4NktGq1T97Hq3+dmtNwAR6Q6A02PYq+OULAILe99/fm1hfg9cKshEQ8zSXtTZIL21xPY56MqVyTmufwEPvrS6K9Wf3TKY982faV+ISJmACJmACawiUxmMHv2sQDfeJg9/h7l+3zgRMoD8IlAbbXgW/BK08vSUI5pjglw9PghUIP/XUcw1/0kxZ5DfyFPjEiZPJn+YMrn9+dnVRrEcm0+GFE+Zm37EP2AcG3gd6NTqXxmMHv73qjR7U6+C3B9BdpQmYwMgRKA22vQh+CW75P1+9SYE952+//d7KU1/lEdjqf3xL/xtMHh9vm09g+dS5tOWpuZUg+Lsve1GszafuGkzABIaRQGk8dvA7jD1dp00OfuuAcbIJmIAJdJBAabDtRfAbm9ToyW+U0zGB886dr1Sn+um0F7wSne7s+enzf795YiUI5qfR3kzABEzABFonUBqPHfy2zm/gJR38DnwXugEmYAIDQKA02PZT8AvC+D+/pZWcCX7vvvvBlafGfurbO8djEaxL7qwtivXJ7QcTi2R5MwETMAETaE6gNB47+G3Obd0SvE6Ib8z59MM2Cqs900Yx//jjj/sBu20wARPYIAFWp9d1vUFVXSleGmx7Hfx2peGuZFMJ8DqkT2zZXX2+cP9UOrDoRbE2FbiVm4AJDDyB0njs4HcTu5Xgl3fq8mqhftgU/GLTsL7qiDbqXcYOfvvB62yDCWycAPcr7qNc24OwlQZbB7+D0HP9b+P5lNINO4+sBMGXPz2fTpzxF73933O20ARMoBcESuOxg99N7Il+C35H4WfPDn430aGt2gR6RMDBb4/Au9q+JTB34qP01R/OrATB219b6ltbbZgJmIAJ9IqAg98uk3fw22XgKSUHv91n7hpNYLMJOPjdbMLWP6gE3p05nf7igakqCP7F6/enR3cfH9Sm2G4TMAET6DgBB78dR9pYoYPfxnw2I9fB72ZQtU4T6C0BB7+95e/a+5/A0/tOpD+6/VAVBP/+rYfSrslT/W+0LTQBEzCBTSbg4HeTAefqHfzmRDb/3MHv5jN2DSbQbQIOfrtN3PUNKoE73lhe+Sn0ZQ9Np0PLHw5qU2y3CZiACWyYgIPfDSNsT4GD3/Z4dULawW8nKFqHCfQXAQe//dUftqa/CZw9dz5tfX5hJQi++rmFdPqsF8Xq716zdSZgAptBwMHvZlBtoJNXc7BCab+t9ow9TCaHceMLBzH/6KOPhrGJbpMJjByBkydPrlzXg9D40mDr1Z4HoeeGy8apY2fTXz88vRIE3/b68nA10K0xARMwgSYESuOxV3tuAm0j2QS/ftXRRgi2X1bBL9wd/LbPzyVMoB8JnDp1ysFvP3aMbRoIAm9MnVr5f+Bf2TaWntx3YiDstpEmYAImsFECDn43SrDN8v7Zc5vAOiDunz13AKJVmECfEfDPnvusQ2zOQBJ4bM/x9NNX7a2eBH/mjsPp7ZnTA9kOG20CJmACrRJw8NsqqQ7JOfjtEMg21Dj4bQOWRU1gQAg4+B2QjrKZA0Hg5teWVn4K/fXHZ9Pscf+L0EB0nI00ARNom4CD37aRbayAg9+N8VtPaQe/66HmMibQ3wQc/PZ3/9i6wSNw8uzH6cpn5leC4OteXEgfnx+8dthiEzABE2hEwMFvIzqbkOfgdxOgNlHp4LcJIGebwAAScPA7gJ1mkweCwMTSh+mLD05VQfA//+bedNebXhRrIDrORpqACbREYOSD3/Pnzyd9WiK2QaEY/Kpe9hvZNqLn448/rhbg6ufFoDbSPrjG4JdjbY30xjyOO7VtVG8s38imRnKN8qLOVuViGR+bQLcItBv89tqfS4OtV3vulre4nvUQePXQyfS5uw9XQfCvf288PTvmRbHWw9FlTMAE+otAaTweqdWeT5w4Ua0Yysqh3djiq45UN6/s2MimV36gr92NYFCvAWIy2Y+bVsfmi4P1bJRTG+Nqz0or6UVO+UyaO7VtVK98ppm/MqnGftjlm3gi02jTarrr8atGep1nAp0goPseft7Kdvz48eqa4B7ci6002Dr47UVPuM52CTz8/rH0qe0HqyD4T+85nN6f68011K7dljcBEzCBEoHSeOzgt0SqQ2nxye8HH3xQTcZ6GfwS2ClIioFhh5rbETUEa3xKQWorFcQnvzzp1qZ2l/TCQvV2OvhV8Lkeve0Ev7Jf7dVe6Q5+RcT7QSTQ7pNfB7+D2Mu2uZ8I3PTK4sr/A//d47PpyAerv6TqJzttiwmYgAk0IuDgt8tPfh38NnLHcp6CtVKQWi6xNtXB71oe4ungdy0Xnw0WAQe/g9VftnY4CBw7fS5d/vTcShC87eXF4WiYW2ECJjAyBHoW/L7++lvpkku+UH04zrcdOx5byb/00i+l8fGJXKQj560+SetIZSlVTy8JPnjq6Ce/rVFVsObgN6VW/ZXAVtxyykp38JuT8fkgEXDwO0i9ZVuHjcC+hTPpz++vLYr1c1v3pfvfae3fD4aNg9tjAiYweAR6EvzyP1fXXLOtCmiXl4+mLVu2JvZxI/gtBcVRphPHrQYTnagLHX7y2z5JBWsOfh38tu89LjGsBBz8DmvPul2DRGDnwQ/SJy/8PzB7zr2ZgAmYQD8T6Enwy1Ncgl8tPLJt2/aLAl3S9GSY441sPOGq99H/gREE15PpZDqLCBHM8eRXgfdG65Ye2tKurXECiW3tlu+GvILf9dqHn0kH7ZXN+p/fkl71E+ViGZVd7156qXs9euWv/GqgkQ38H7nanMspHZk8L57rlwnr8auox8f17z9ms342ccGrVjji91x3Gnc2Mqasp2xpsG3F7iiDDm8m0I8E7n/n2MpPof/8/sm0f6E/F9DsR3a2yQRMoLsESuPxpi94RfB78813rrS00VNeJio8Gd7IU+APPzyb+Jw6dXrlozRNiI4fJ/itL6c87Uu6lNdoT0CxWmdt9dFYd6Oy5JXqpbwCuWbl8/zTp8+sBEkffEAwVGPQ6r5kT162FZm8TDynbXzWYx96qD8GfJyTLmYlvTF4PHOGCXp7XOrJx+C3NqltT++q79T8tR5b2qQ257ZIR6ndUXYjfhX1DMNx5ByPO9E2/Es6ud810ik59o3kNjMv2luyo2RjLMM9pxP26csZ/LkVffJ7ru1ebKXBNga2rRw7+O1Fz7nOdghse+nIShD8jWfmE/8j7M0ETMAE+olAaTzuSvDb7MlvhERwzGej22owsPqKF6Xx9FSbApSYpjzt9TSRp2LtbJRTMKe629GBTZRDjzbKS5fSWt1v9FVHm8lKbVCQGtusvFb2/Fw6MueJK1sjvcioTFwhupX6GskwwZXe9az2rH6Wb+pcbVLdCt6pK9/U7mZBgHyNOkZ9078rwEJc8P1ObFpxnX5ptuK6vjxr1nedsKueDuyFQz17xSr6nt4nThr3nE5sjXy8pJ+6sRuGvdhKg20rAW+UcfDbi55zne0SOPLBR4nVoD+xZXf6D98eSze9stSuCsubgAmYwKYRKI3Hmx78EsQ0+p9f/v93585XqkZH2Y1SYOLDh8mENiayTIriRJZj0hRgSDbusQuZdgJXyseJoZ5ctDORlb0xEKR8M3uj7fFYE2+4NJt4x3I63kxWqkP9Brv1bFrtGUZ8FChyjO6S3kF51RH2xzaJDz4ubkrTXunxOlBe3LfSt1F+mI913cJO12C8Z2yk7e1cg+u5Z2zEtlJZBb+wKN0zxAq/1KbglzKdCn71BRU6W9m4V2NTvHe2Uq5TMqXBNga2rRw7+O1Ub1hPNwi8P3s6/cUDtUWx/t31Y+nh99t7WNANG12HCZjA6BEojcebHvyCubTaM093+Ynz7OxcuvvuB1f+57cTT32pk0kSnzjpL01kW5n0O/itXSybyUqXo/qtFKRKptHewe9aOuIZr4O1ErWzVvq2VG4Y0xTQwa50z9hImx38ro+eg9/1cXMpE+g2gWfHTqQ/uO1Q9ST407dOpFcO9eZfD7rdbtdnAibQnwR6Fvz2Akdp0l+ayLYy6XfwW+vBzWQlH1G/Ofi9eLVn2PjJrzxl8/YOflfZ+snvKot2jkqDbStPe6OMn/y2Q9yy/Ubg7reOpv9643gVBP/1IzPp4OLqr/D6zVbbYwImMLwESuNxV5789gKpgqj4xMvB7/kqeIJN6SeMzfrJwW8zQmvz9XNqAlaCiHa33F8d/LZLcH3yDn5XuTn4XWXRzlFpsI2BbSvHDn7bIW7ZfiRw7uPz6boXj6R/+639VRB85TPz6eTZ9sfCfmybbTIBExgMAqXx2MGv/+e3Ze918NsyqkrQwW97vPpF2sHvak84+F1l0c5RabBtJeCNMg5+2yFu2X4mMHP8bPqbR2eqAPjHr9iTbtnlRbH6ub9smwkME4HSeDx0wS//86lFoXjiFheY0tNgnqhp41jppCGvj2S06ipy9Tb+Jy0vp59LY4c+7SyaJbuivVrtuR09shk22IFeLQSlPPZM+mkDutnnT4dzVrGsjlthJVn2YkZgzbE4KZ09GyyVpnLYtK5hOAAAIABJREFUI1sroQttkA7aqfJKo4zSVEb/T4jMeld7LvU/E1nV2+qTX/UBNub9jy7SYBw3ZJUX0zlGnry8zblcK32bl9mMc+zkA7tWN5WBXb7hw8qHm44ll/sV6fG6zftA5bSXvlLdkol7LQZFn+AznEtH7nuqm7223F6VZd/OVvLXUnlswlbZm8tEVsqDucrAnLo2utE+6eQ4Z5XrF7v8WsnlNuu8NNjGwLaVYwe/m9U71tsrAm9Nn0qfvetwFQR/avvB9PheL4rVq75wvSYwKgRK4/FQBr8ERHGipA5WepwQMelHljw28jiPk0mlxUmodGrPBI986SGdiSFpsoU99bW6tWJvq7qQayX4lb3s8+BXHGIb8/olQ/lWNtVH8Ktj8edcejTJVt1xMiwZ6iMIofzy8nK1xx622Aexb8lT3yHTbFJdKSv8QQfloy1McDknvZ3glzJ81P/yGenK7RcL8vOtXplcLr8O8vxunauf2gl+xb0UgOLDYiDfjPxyv6Kdum4pl/dBzkH2lurOZTlXMIlufIZzjvnkvqc+Uf/LNurMrwP5eanOUpp8nnobbbm9uaxYYZO2GPySTl0b3eTj6CuxyvUjg2y7XHI96z0vDbatBLxRxsHveum7XL8TeGLv8ZX/B/7MHYfSm1OdeZVcv7fb9pmACXSfQGk8HurglwlQnERrMkmgpS3/KW+rE2SV116TSU1KSWdCrEmY9nHirbL19rKXCaY2TQLjhFh5zfYEYJo85oEtZXN7c5mcVam+UjBRklOauMTglzSdc8yW6xUHtUf6mq32jHzeBwqQqKvVIFX1aU//57ZIL+mt6lUfYIv6HxZspKErDybwcfL45JvS43WQy3DeSt+WynU6TQyb2RvrVZlSABr7oNVru1EfxHo5blR3Lst5fg02Cn5bsVfXQbtBnu5XJZ+JdmOvfCi/HyAnVnDQpjaRxif3V8m1s9f1Jd75FwW5Ln1pEe+ducxmnpcGW3y6nY+D383sIevuBwK3vb6UfmXbWPUk+MuPzKSpYx/1g1m2wQRMYIgIlMZjB7/Z//y2MuEs+YQmkw5+23snMhNrJrQKdjW51bkm5w5+HfyWrjvS5DMOfusRujhd9ytdXxdL1FIc/NYj0zi9NNi2E/gi6+C3MWPnDgeBMx+dT9c8v5B+buu+Kgje+vxC+vCcF8Uajt51K0yg9wRK47GDXwe/K54Zn+IwKc6f9LTydDAPUleU1zlw8LsWjPoALn7yu5ZNvTMHv+3/vNfBbz1v6kx6abB18NsZttYynAQOHz2bvvJIbVGsn7lqb7rjjeXhbKhbZQIm0FUCpfHYwa+D3xUnVOClYMLB7wqapgf6WWZ8khZ/cuufPTdFWAnI9wgUWt1Uxk9+WyW2+n/u0V9Lpf3kt0SleVppsHXw25ybJUxg1+Sp9Lm7J6unwL/+vfH09P7W10kxPRMwARPICZTGYwe/Dn5X/MTBr//ndz3/S77iQB04UCDr4Le8+F7+ywr/z2/Z6fw/v2UuTjWBQSHw6O7j6Ve2HaiC4M/dfTi9O7O69smgtMF2moAJ9J7ASAS/TJqZQOcf/bxWk2s98dBPS5Uey0lG/wfMCsKk5U/x0FHSr3JRp+pBnsWZ9HRQerGfY31UlskcaZzLDsmUnniV3E2rPaODJ5VaHAo9TKKlX3WW0rSKMvrVPtmhCafKIyMdyJY2ycZ+IC2eSz91x7arLPnaYKF09tTPFtPEknIwiE9ttZBOfOKFnMpzLBnVyZ56kIm2RF/MfSaWjccKblQfe1iwxTTVpT5QntqGnlgGOWyL9lUCF/5E3jFdx7lepZf20a8iK+qOdssepUcb+Il9sy1+WYNe2kx90qs+ERvVo7Zwrjo5ZpO/qoz26oPcJuWLd57PuezBH7BPZfA7rn+dcxzvB0ov2ZtfB6qDvf5fnnJs+ncF9Eku+g1panfezmhvtEftjP4q3Tl3XfvKp990fckm1S8ZWMUt15mzyq8v2aq6o65uHJcGW9rUzgcd3kxg1An84NXFxLuBP7Fld/raY7Np7oQXxRp1n3D7TaAdAqXxeOie/DIpYtKnyU/ca6KrCRfw8klVlGcixhYneOTnE62oN5bXhI603CZ0EyTEyS56mRxJRyzDsSaGUR9p7Qa/KqMgBX3iQJ7qj5Nm0pSnCXI+gY72Ihv51puESqcm7Ko7slNa3Od1V5WltMJT9iooKZWlbhgoiOJcwVqcnMeyHEtGdbKXj6jdpEkvZXKfiWXjMf0vJqoXFmyk53nioDz1gdot+cg31qdj9T/lS1uutySjNPkVdUdWtEf2yG61kX28jggMm22RL+VhR31ioTapDtWpdOR0rHbrXDrUbtJLm3RTd71NbY72UQ774/Uf7wfSyz7alF+TapP21KW+VpvyMlEG/ZyrDl3baot4RnukF5l6/hrlc1+k3VwPqps99YsT5zlPXV8qE4Nf0vLrS7poey+20mBLm9r5OPjtRc+5zn4kcPzMuXT503NVAEwQfMPOI/1opm0yARPoQwKl8Xjogl8mkJqwMimKnzi5ZnLElk8Mo7xk4sSrNNGKemN5TUJJi5NTztEdJ7ucM4FjciQdUS9tQibPI43JZCtbnHAyeVSQgk5NflUH+3psNEFWm9SeyF0TZOlFtrSpvshKdStPbY77vG7pjm1CXkGUbGSvsugv9QG6YFWv/hjQqd749FhpCmyoM5+cSybf5wEdZWHDVrJHbVH71Acx4KBc5JvXybn6Wn2by+R68/x4rj6g3shKNrKPdnPOR/5OuTz4ifp1HFlRhnMFa5zL96RfdSodGbU791fy+Mgm9YHq1h7dyDW6BqWLNuXXYLSX4+gzsrtkr/LUJu2pS32tNqmNKhNlZL/qyPu/dB1ILwzyPkCf6ld9ugbFgTKRA3LUT77syftf15fyc1b59dWOv6ovO7kvDba0qZ1Pp4Lf5eWj6bLLvp4uueQL1Z7zVrcdOx6rylH20ku/lMbHJ1otajkT6DiBA4sfpi8+NF0FwT9/7b5079ut+3LHjbFCEzCBgSBQGo8d/F74n19N1OKeyRibg9+Lv0SAiybcmpBqwsm5JsiaVCNb2jThjRNm0uJ57BMd53VLtwIvyWnizbnqUlnOHfzWyClAyoMfcVXfKqhWemmvPoAvQYq2Uh+on9gr0KRcHvxIR9zngRfnMZiU76kO9bvSqUftzv2VPD6yCbnSpjZRd71NumhTDPoIdKO9eUAnu0v2Kk9t0l5tYq82qY0qE2Vkv+rI+9/Bb71ebZxeGmzbCXyR7VTwe/PNd64ErQSzfFrdkH399bdaFbecCXSFwMsTJ9Nn7jhUBcGf3H4wvXCgPL/oijGuxARMoK8JlMZjB78OfqunLZr8MjHWhDifNGvyrAmyJtySV4DEuSbe0otsaVN91KXjfHKueuM+r1u6FXhJ1sFvLYiLfMUq7tXX6tuYx7H61sHvWjL4Gf7q4Hf1y6Xoa/DRNQgnsYpfAiDDfYI88cy//PCT37V+t96zbdu2rwSzPMXlaS5PdUkvbaST30imVM5pJtANAg+9dyz92o21RbEuvW8y7Zlv/u8y3bDLdZiACfQPAQe/J05UkytNsOgaTfpJyz9Mxtj85HctGwVIeQCqAAmODn7X/v9x/rPMereF+DRT/oiPsik4UDr7en2gIJUyfGJAUqpb14H6NpdR30pvnh/P9QUE9frJ7+r/avvJr4Pfdp7+durJL9emfr6sp7j89HnLlq1JP4F+6qnnVp4Ox2tZx1z3yKu80tvZnzhxMvljBpvhA9c/P7vy/8Bfe3QqHZ4/YV/z9WYf6DMfaGe86KTsSAS/TC5KQYICMgUOyBBoxOBBeezJl4yeXiqdpxDUQ3km+goMYnmOo+6SDBMKPtKLTgUhSpNO2aNzghQdowObsIePJlg6Vxp76VEZnUd90hvbrTT2lKHdsYz0SI5z6pMMe9kT2SFHGclJf/4kSHqVH3nKHvSLp+TRQ7rKsY91Ia8y6OGnqMjDU7ZJl/ZqBwx0LHspQ1rsy5hGHuVUViximbxedCOfp3Oec5CMyqjd0RdVV/QZ5aOPfDhEP5Je5NQGBfTsY3vEk7rjtSJb2FOPdHKuNB1jf2SjOrkhih/1RB2qCx2kq006V7+r7ijDMXXEMtGm2G75CPLSTd2RA3myWTJc2ypDGudqA/WjI17/yPCR3dFe6VT/l2TyNnGucnk7dY4MfNW3+lm2bFF59YPsj/n0XX5Ou1U/ZeI5sthPvmTgoH5GNtcJK/TIHvpE8tgW9XRyEG1VV2mw1fXU6r6Twa/s5kkun/jUV092CWwVJPM/wgqMVZY8Pt5MoB8JLJ38KP2/J1cXxbrxR4v9aKZtMgET6DKB0ng8dD97ZmIRJ16bdazJVZyw5XVJJk+vd95IV70yraTX09vMPk2o69VRKq9XIdUro/R6Nim/Wd2S016TZ51rX7KxlCZ5goBG+ciRz+S8mZx0ai959gpalJbL6Jy9grWY1uy4Ho9YLq875tU7jmUUILGvJ99OetQdj6WDYIeNPD4K2JTPPgZJYhzz8+NWZPIyqiPaiG2RA3klH4ll0Juf53V16zy3Q31L8FuygX6AQ14O2WZMW7nG0FPq35ItpMnfsYlNcujoxVYabFsNeiXXqeD37rsfXAlkCXAJfvMnvyVGyOzc+UqVhX9fc822hk+HSzqcZgLdJsBPn//3g7VFsX7phrHET6O9mYAJjC6B0ng8dMEv3/43m3xpYsS+NHmL+aXjWIbjVgI1ldG+md5SPml5+fy8VC6Xyc9jGeWxLz2FirJxcop8O9zVFtUX9aruUp7kYh7H7fRBtFv6ZI8Cm5ieH+f2RVtyWZ1HGY4bsYqylC8FUdJbry2UaVSHymuf16n0RnsFSDHoayRPnurRPso368M8+I1cpE9pnOd9KRnVyTnyOo/7XFZ5Jb3k8XQy59CNPqhnp+wt7VUm7iMr0mPfSk668Cu2WIY8yakPJB/3yETmKhNldFzPt5Uf95LFJjb5vnymSuzin9Jgq6C21X0ngl/aT8Cr/+2NT3Tj09/SSs4EvwTOejLsp75ddCBXtWECL4x/kP7gttqiWJ++dSK9fLA3X4RtuCFWYAImsCECpfHYwe+FnwLGiVSz4zhh47jZpB19KqN9qY5GeZLPZfJzycV9LpOfl2SRiZPUKKNjTTg5R14TTuU321OmZIvqLuVJZ8zjuJ0+iHZLH3v05BP6mK9j5OIEP9oimXwfZThuxCrKoifWleut1xbKNKoj15PXmeeXzmOAVMovpake7aNMsz5UIENZPpGL9CmN87wvJaM6pUPncZ/LKq+klzwHv6v3OPWBmMV9zrweZ8rU8+2oT8eSdfC7oTmCC5vA0BHgdUi/+p3aoliX7ZhOvC7JmwmYwOgQcPBbZ1ErTaBa3ccJG8fNJu3oVRntS3U1ypN8LpOfSy7uc5n8vCSLDJPYmJcfa8JJOvLtBFsqU7JFdZfyZEPM47idPoh2S5/syQOmmK/j3L5oi2TyfZThuBGrKIueRsFEvbZQplEdjezL8+qdO/hdXQjOwe/qPa6Rv+Lb8b6S+3r0tXq+HWV0LFkHv6MzoXFLTaBVAufPp3TDziPVolg/fsWedMXTc+nEmdXX8LWqx3ImYAKDR8DBr4PfKphtNOFUXj5J1SQz7jXhJA35doItlVF9Ua/qLuVJLuZx7OB3NRCDkYNfP/nVtZLvde3EffzSh/T4xYbkpIfrnC2WIU9yDn5T9Y7eVn/eXE+uEz97Hrxpii02gc0jMHfio/T1x2orQ//klXvS9teWNq8yazYBE+gLAg5+Hfw6+G3wc0om7/mEXhP+uEcuTvA16Y8y+XGU4bjRFwVRFj2xrlxv/AIi5jn4vbgvc66cwyly03EuG9NLPuInvw5+4yhfGmzrBbn10h38RqI+NoHOEXh35nT6/H2T1ZPgT24/mB7dXftCr3M1WJMJmEC/ECiNx0P1P7/bX1tMt722kJaPHk1HlpbT+4cX0+7Di2l2cbla3fLQ3FJ6dvd8lbawuJxmjyynPZNL6Uf7a2Uod2BmKb24d6Hao2N6YTlNzS+nsemlapJM2ruHFisZ8r79/FTaN7WUdh04knZPLqal5eWE7jfGj6RXx2p6mThTF2lTC8tpcbmmd+/UYnr9QE1mceloZe8Lexaq+paWjybsfX7PQnr74OJKm947vFjVv3QhkB+bXqzatG96qWrz9PxSemX/fHp9vKYXPTB4Yc98OjS/lBaXj6bDc8uV/RNztTZh71sHj1RtWFg6WtV1w/NT6ZYfzabx2ZpeZGYutAFO256fSu8eXkz7p5bSwdml9O3np9Pk/HLV5jcPHlmxF24v7ltY6YPxmVofvD1xJF333HSaO7KcXj9wJO2fXqz4opu6b9w5WzGHN+ywGb7ki81L+xaq/sGWAzPL6bmK3VJixenFpRpv2kUZ+mBidil9/6XptPXZ6UQ76b+X9y+kmYUaB/S8PQGr1T6AEf5wcKYmM7+4nG54bipd88x0xRK99AG6Jyu+9O1SeneCvq6VUR/gj/QpPgOX1w4sJDhgH3zpp537FirbSMMXv/PCdPpWZe9yxWr/1GLaO1ljhb3vHKr1AX1DPfTBthem09XPTCd8BA7vTByp+kB9i535dXBodqmSo14+1PGjsYV0mDYt1eqGNz5MPv39J3cfTiwk8oX7D1V14wevHTiSJudqfVBdg5OLFWPKwAr7uS5gj734/Z7JxfT8nvl0/fPT6cjS0YSP09ezF2RgRpv+zwOH0ufvO5zmFmv13/LKbNVG9cGNL06v6IDxc3uOVH5N3eoD6tF1gJ/d/upsxR0ZXQexD2gTrPBz2vPtF6bTw2/Pp1fHahwot+2FmfS/7jmUvvjg4cp+9cGVT01X9VKOPnhlbLVvuQ7wPfyfewY+Tl8ih04+pD23u3btYD/3jl1jR1b6AL3ci96dWEwzF1jBFZ7vHjqyci/C13SPg9W+qcXqnoXfouP656bSM7sX0q4L9yLYqW//8qHJys+xk3vRa2NH0reenar64ZWxI4l7GLbGPrj6makL11ftXkRbyacNNzw/nW54fqbyU851L3rrQrvxNa7Zh96cS1c9NV3p5jrA7+ABK9qKn9EO9HIdcP+99Ucz6e9+OFnZRh+QNz7Xm5VeS4NtvSC3XrqD336ZOtmOYSXw9P4T6be+f7AKgj971+G0a/LUsDbV7TKBkSVQGo/7IviNq05uZEXJb72wkP7glvH0wBuz6cE3ZtMP35lLj70zn559f74Keh55ey7d8/ps+t6L02n7y9Pp5penqwndva/PVscERshwfssrM2n7S9Ppvl2z1YT0zSoomq/K3ff6bNr+8kyl559evjvd8qPVcne/NpMee2eu0oPMba9Mp6fem0/vTNQC5sffm0/P7ZlPt78yk17cM58efmuuKv+Dl6bT/ZUdM+kHL88kzu94dSbd+Rr2TlX1Mgl/+v1aGXQyAcSW216ZTd/bOV3ZywQQPT94qVY3eu7dNZtu+dFMxYBz6r7rtdl03+tzVSBCPTBjf98bs5Xcv79uX/rHxw+nu3bNVm0hABybWkwv7F1ItJF2w4oJ/DPvz6d/9o096bnd8+nxd+fSbbB7ucaYNHjCAr7Uccers+mqpybTT3xjdzUpp8xDb86mnXvnqz77r9/dn/76wYl0084aB3gSFLy8/0hVJwxo+8Nvz6UfvDxd2UL5+9+YrdrO5JkAnHJ3vjqbHnpjNj31/nzVD3+z41D6lW37052vwmcm3beL/pqvJvG0YcdbcxVT9cHtr86ke3bNpnt2zVRBMD7z374/lj5358GKMXXCAw5vjte+iEAv/UMQRSCiPnj07bn0w7fn0j+7YnfFgrrgIVaPv3Ph/EJfYePn7zmYfut7Y+nJitFcxevZPfMV6x+7fHd68M3Z9PK+hSoYgzX6Pnv7wfS728erY7hwLdCeW16u2UV/3f/G3JrrgOCCwBAb6SfahN/gD4+8NZeeem+uqos+wV7a8E8u312x/xdX703f31nrW9rEdUf/vLh3vvoiAR+mzF2vzVR673tjruo7gmkCPoIu9P7zb+6p9FAvdmCP/PJP7jyYaO8/vXxPlfbpmw+kv3pgoroe+LKCMn9+70T6ze+NVTz+9da96c7XZtKOt+bTvbtqfoTMzbDdOV31CTLfeHKyujboR/qWPdeO/BV2XCu6Hv/FVXuqa00csP9TPziQfuyKPekXvrWv0k3/0wef+v6Bqhxt55rkOr1712x1P4IvffDDt2erL70o88S7MJ6r2k4ZAtsfvjOf7n5ttgr+6Fv689ZXajyr+9Prs1W/cA1hI31LUIrv0x76gkAdP+GcttMPyD27e6Hql395Naxm0wNvzlcyPx769uev3Vf5Mv2JH3zjicOJnwvS99jCF074OfcH9cF//s7+iuOtr9TuRbSJ4Bv7yPs/90+k7S/NVDbRJvjexP3r5elKD/eVr+w4lP7FVTW/4jogDZvfO7RYXbf0C0zxefyCdn3xvonKtk9s2V19YcH9Yt/M0Z4M+KXBtl6QWy/dwW9Pus6VjiCBO95YTj991d4qCP7yI9Pp0LIXxRpBN3CTh5RAaTzui+CX9w7yOgZWc93IuwQJfplA/7ebxtJv3DiWfvXb+9Mnvz+W/vqhQ9Vk7b98Z3/6t9/aV01U/8mW3YnPb910IP3ODw5UwRuTpl++YV/6D9fvS/966770Ty7fU8l//dFD1WTua48cqiZaTHSR1f5fXbM3/UpV14H0H27Yn/7HbePp3123v5L9mav2pP9930T1pIxg8s/unqgmdj9z1d70u9sPpEvvOZiQQd9PfmNv+rHL96Qfu2J3Tf/leyobsZNJ/18+cKgK7gm+Pn/PRPXE5peu31/JEoxKrrbfXU0eZSeTVSatOmf/C9fuTVc9NZV+4dp9Vd5Pf3NP+s/fHVvRx/l//Pb+9OlbDqS/3XEo3fqj2XTjzukqjfKfuX08fe2Rw+nKpyYrm//24UPpc3eMp397Le2otQG29MFPfKNWN3bKBuwkCP6d7QfSv79+X/q/jx5Kn71jPP3cNat2YvfvbT+Qrnh8sgqQ/vDWA9Uk9+9/CMuD6V9eUxuwfv+WA+k/bduffpEA5KVagPPftx9IBCv4wxfvn0h/fPvByvaf/Obe9EvX76v6HP1MyAnamPT/0a3j6b//4MCKvfQH6f/uun3pq48crtJJUxsItujLz9w2XgUQX94xkeD2q9v2pcsemEg73pyr2OArv7ptf+WLMOCc4OuXv40/1gJJGFAPQTj6xepnr9qb/uLeifTbN42lP7vrYPryQ4eqT8Xm5vH05R2HKl/4ykMEDLWy2Pxvrt2bfvt7+9PPXWCEXvTAjTZjA33A5wv3HaoCwT++bXyl7p+9em/6jRsPJALN/3nnePqP3963kqf2r9lfvqfyqf9x+3i69tmpxPXyp3dNVHVhD8z/+Tf3pp/bujf93s3j6R8fO1w9rbvm6clEcBv9k2v3aw8frgL/n/pmrU01v96T/tv3D6Sf37qv6uv/88BE+rtHD1fXKbbgD998aioRkP/ajbVrEe6U1fWa73/yG3vSr323xoPrLLaJ+wXBIezoL/pE/cKeL0d+7cI1I73KR4+O2dM+GPzVg4eqPoEvHAhG6bdfvG5/Fbzjg1wvcOHeRQDKk2/uM//yau5Jq9cXdeIzfEmCP3z2joOJL3j4/MSVe6r7BU/M/+cd4+mnrly99riHXP74ZNUu2oxvXXJ7rd7Yfmzm/vXNpybTH9164MIXHrXg9/duPpC+9OCh9PePTaZ/eOxw+sXrav5BGfRRPzbxRdoVT0xWLMToJ67cW8n81Ddr169YffXhw9V1LBtqfV7zHXz3rldn089etafS9W+u3VfVTx3Sq/1XdkykLY8fTi+MOfgd0vmMm2UCHSVw9uPzaevzC9V9i/vP1c/NpzMfne9oHVZmAibQfQJ9GfzyLsEtW7ZWP0sGCU9+1/v018FvLUjWhJEnJyuTSAe/Dn4d/K5cD7ou2Dv4dfDb6eG4NNjWe8JbL91PfjvdK9ZnAs0JTB07m77y6Ew1VvyrrfvSba97Uazm1CxhAv1LoDQe9/zJL8EvT371Dk+eADv49ZNfBSfV000/+fWT3wtPqHlK6Se/fvLLk3Q/+e3fyYYtM4FBJ/Dm1Kn0ubtri2L9zs0H0xN7vSjWoPep7R9NAn0b/PrJb+2nlv7Zs3/27J89137C6p89+2fP/IRZv2Lh5+L+2fNoTlzcahPoJYHH9hxPv3lT7d+B/vSeyfTWtBfF6mV/uG4TaJdAXwa/NML/8+vg1//zu7v6v2cHvw5+/T+/tXUMHPzua3eMt7wJmMAmEbj5taVq/QV+lfa3P5xJs8c/2qSarNYETKCTBPo2+O3Uas9bn5utFlFhgaVP3nSgWjzp0nsm0lcfri1UxaJEf3oXi/2MVU8UWHDmf997sFpISk8Y/vj2A+l/3X0w/cb3DlQyLJx1+ROHqxWKWYGUxVzQz2IvLIDDYkW/8b3aAlR/dtdEtbjL5+4cT5+57UBiwSVkWDCG1+OwaMwX7qsteMVP9lit9v8+erhaOZcFdVgdltWqWYiKBYJYeOsPbx1Pv3ZjzV4WOvrCvQfTpfdOpD+/52C1yBELLlHmV7bVZKiPBYrQ9TPfrC3WxGrBv3/LeGXbP7uwQA56f/umA+naZ6aqhWqwlUWjfvv7Y9UiNSwe9ce3j6ff2z5epbOo0HdfqK2SW1s0bHf60oMT6R8em0zXPj1Zsdry+GT68oMT6X/cOl6dw4qVXVmoi8V6+KkiT/T+4NbxlT647tmp9Gd3j1dtYNEcFuZhsRxsYfEw+oWVlb/55GS1kBWLhP3lA7XFbL7+6OH0S9fVFoyCB31NX7DiNa+9oa9hQRkWvPpz2N0zUS16xZMkOFPPp28eT4+9O1ctMvRXD05UCxLFPmABM1b0hQELE8Gsqc6fAAAgAElEQVSKDwuVwZ/Fki57cCKxui3lf/7avdVCZvQXqxb/+BV7qoWbWNSp6u9v7KkCXdrFAl+0kYXaaDs2/+zVtYWC6AP6Fn+FI+1g4TEW+2KhIXyPdv3fH06m656drBbB4kuE379lLP3WTWPVwmMs3sWCYfgrC4nhi1+8/2C1MnK8Dv7+0cPpmmem0h/ccqDqp1+/sdb/1A/DS+89mP7srvFqgTjsZUGm/Dpgsbg/uetgdf1c91xtwSt44K8sAgbzX79xLF1yx8Hqw4JErAB85ZOHq4XT0Mt1QP//zzsPJmxisTL0xuvg07fgLweqxcnQT79wnWIrzLY+wyJuLBJ2MH3poYmqPNcT1wFl8d94Hfzm9w5UfYiNv/ODsWqlbPXB797MfaR2z/j5rXsrP/70zWPpU1wnW3ZXK2rTL1xffHHBxIhF1+gD9CLDdYA8Mv/lu/urvmPxPfR+5vaD1WJ6LErGYnH/6+6Jqq0/deWe6jVXlz8xmX752/urFabRf8kdB6oF9WIfcJ3iH/gD1wbXJAtMIYN/sWDfVx+pLYZGGv76hXsnKk6c46/4BPc3ztUH9Dsc//L+iWphOnxO9yJYsaAb7PFHrl31AQuMsaAWvNCB77Gwna4D+uAXv7U3feoHY5VP0LeUpW6uD+6drFZOH3DPoE+5LmgjK0rX7nFj1XXLNUa7uQ5jH2AP9+07d813cgxtWVdpsK33v7310tHhzQRMoH8InDx7Pl357Hx1n2cMvO7FhfSx18Tqnw6yJSZQIFAaj3v+P78FO9ed9PSepeo1GAQ/vGLo5pdn0ndfnE7fem6qesUM6QRwvALl0Xfm0yNv8wqkmSqwevit2quReOUIK6vyeg1eM3LPa7PpW89OVpNH9rxyg1ff8GqOHW/OVno551VD1MUxr4qhbl6pxPsqeQ/lFU/WJmPfeX46Xf/cdPW6FgI00nllCEGS9Oh1J+xveXm6ehcp+bwjkzqwj7JMjHlVCK8I4RVO2Murk3iVEUEFrzehHK8awiZebcT5Qxder0Qbr3xysnplCEx4Xcgdr9Huueo1LLzyhVck0Rbe7clq1UyQeU0Lr+zBhq3PTKYrnqxx4ZhVfknntSjUBaern55MD13g+8AbtVewqA+ufGqqahP1sLot8nq1DK9xok20BR1ff+Rw1VbeQ0qAQ728mgZbsH3b8/Cfqybi//B4LVhHH31KGVaqhiGc4QUH8rCF1XHpW/rs6qcmV145Q//Rflb1pW0PvzVfrc5btfHtGmv4Ug9BKH1LGXh/94WpxArY6gN4XvvsZK0P3pyr2vLdF2uvcaFuGFz3LO+Rrb0uiFfhVH27a7bqc4Lrbz83VbG4/rmaHuqlbwh22PP6F/TQLuzC57Ed/8Q38EXeHcw7btUHXAe8t5eAAbvpf9jDver/C18m3PjCdPW6JGylTXCkfl0H+CtlSOMVQvCCO0F1xWDXbGUTMrDgfbD/77HD1etzkOcaFCtehUMf48v0cbwOaBMf2GA3fseKyZzj41c+OVW93gk7qBt/kl7S8EHOdR1QB9cRfNBTsbrQB9Wrxnby6idepTVXu75erbXxkbdmq+APRnAjv9LLdVvZWHsFGmm84oi60cN7dWEHB14/xJc4+AxlaA++DGOuzX98rHZ98sUSfVvd015Yvb6kB9+nHu4PcPvGE5PVNUgdfBHBvYL28Qok9GAvafQ9K53j93w5hwx65NP0KX1IXtUfr9ZYPvr2fFUG9qRzfaoPKIv/wRe2HBP8Rr0PVK9s4hVrtVe90Z/kc33gG7EP4Iq933lxuuKNTbe/im/Stppe/DX2AV/qXfX0ZHr03cV1jycbKVgabOsFufXSHfxupAdc1gQ2j8DE0tn0VzumqyD4l24YS3e9ubx5lVmzCZjAhgiUxuOhCn5ZNGtmYTnx/lDeK/nOId41ulA9kWNhLd79undqMR09enTlw/sreZ/o4tJylfb+4cX03uHFdHiudj42s1hN/njFDMHMkaXldOzYsZXy6Do8v5zenjiSXtq/kHZPLibe17p/eiktLh+t7GFi/Q+PT1ZPWQmemKTNHFmu3lHJ5HX2SM0e5BeXa/XKxuVgKxNJ3nW5c+9CFZzxxGXf1NIaW1RuibqP1HRhL+1fXKrVI/vHppeqSe2BmaWqXdMLy+ntg6t8OH//0GL1LtUbd05VTzd58vjeoSNVnU+8N5++88JU2vpsjQsTVia8+6aXEvVjC7bSBzqXfdoT9OzcdyTtPrxYBXhMvg/Nrm0T70W+6mkC74nqfbNwYJLPJH5qvtZG3llK/9Kmv3n4UBWk8/7Ryfnl6h28lHniXd63fKSyhX6CN3bwjlteybOwtFy1lfqivUeWjqa9k4vVhHxh8Wg6GvofP5tbPFoFjDx1Y+I+d2Q58a5hghmeWOFbMK/SXpm54GvH0vjMUnp3YnGlLnyT9wLHPsc++oHA4uV989UXGvgPQRN9yjtuCZb+8fGpdNPOqTQ1X2OHzWMzS9W1cPhCGm3iC4+H3pir2qw+YE/AQoDC+2JV/+G5pUrumd3zVSD1zsFav6uc/Ejn7OGPX/AaHb5ooj/hS91cW/A7OLOUXth7pAr0v/TQoepLDL6owWZ0VKwmjlRfTPEO4/nFtdcE1/fE7FJ1LRPYEpzBkrL0N78SgNlrYwtVsMf7cmlTbq/O5xaX0+sXbFRblDc2tZQOzdX8GbuXsuuTd8u+Fa4ZlS/t8Qv6mL5DJ3x5bza/5sCPx2aWq/vWk+/NVW3m2iB45f7CE1bKcG1wzcs/sROfefDNms/yxQXXIT4CT943zXu1CXDFkTJcl9c/X5PBVt5TTcCta0LtRwf3r6ufnkqPvztf+Zza9vye2nuC+TKOL164j5C3sHS0etey+pNrjQAZ3dLL8Ut7FypZ6WOP7dxLOUZWvojv8NT3L+47mCYv+PP+6cXqSxCxiHr4UpM6fzR+bEOD5noLlwbbekFuvXQHv+ul73Im0B0Crx46mf7o9kNVEPyp7QfTs2MnulOxazEBE2iZQGk8dvDr4LeatBLUO/h18OvgdzUAJ5hy8Ovgt+URNgiWBtt6QW69dAe/AagPTaCPCTz8/rH0n75zoAqCL71vKr0/d7qPrbVpJjBaBErjsYNfB78Ofv3k109+/eTXT347OB8oDbb1gtx66Q5+O9ghVmUCXSBw0ytL6aev2lsFwX//xFw68sG5LtTqKkzABBoRKI3HDn4d/Dr4dfDr4NfBr4PfRqNnm3mlwbZekFsv3cFvm9AtbgJ9QODY6XNpy1NzVQD8E1fuTdte7s26A32AwiaYQF8QKI3HDn4d/Dr4dfDr4NfBr4PfDg7TpcG2XpBbL93Bbwc7xKpMoMsE9i+cSV98sLYo1n/cdiDd/05v1h/ocrNdnQn0HYHSeDyUwS8LLL12YCGxIMorYwvVSrH8/x4LImmxFC2O8urYwprFf1hYhYVbJMeCVyzCwuJSrNaqcnHPwjUskkWdLD7zxLtzafbI8poFr1h8hQWaHn9nvtLDYkXP7Z5PT743v7LQz5Hl5TUL6rDYixZ8oT5WTWXRpF0HFqrVeLFpIVsMSHaxCAz/w6tz6tMCNEpjcSJWcMZ+yb81vrqoEeVpD4vmsJIuC/CwUvD+C4uG0c57ds1UKwejE06vHlhI42HBKhbWeWdidREt1a09OlmsiAWvWDSHVaJLC16xGi0MYcYqxXe+OlstpMUCZ+h69v35Sg99zsJTsMEOFkBi4SsWvGKhJBa8YrEd+lk2sCAT71bVgldacEf5cNs3VVv4TGnas+AV7Fho6GsPH65W44X12wePVH3Ea2gkS9+xEBHnyNDuvZOri3txfDCwUzn6gb5/fXyhWrSL1Y/pD3SwWBsr3bIaL7q1+A82s+gaCxmxUBK6yGPxIvpTixOpDhZeow78UWnVglcHj1SLgLFY2KELi8Apv7THp57dPZ/+3w9rLGCODyELc2xg4Sj8gv5kpWP6kwWvor63Jo6km16arhaAop0x76V985UOFo+6rVohubbgGjJct7xCiYW/dh2oLXj33qHVvo56dMyCVyx8J3ZKZ097uJbJo79yGRa8YrGsWKbecbXg1eRi1XcsggZfOLCYHm2kv7hHcV2xOBV9CksWw2I1chb5oi/hF+uAL6snk8aKyfgD/cn5U+/VVqimnmg75ze+OLWih4XFWHwr6uWYtQDwCxa1YuGwmM/CcKzWzArkXLtcP+RzT0K/7l0seMV1Hsuy+F6UUR4rsk8trLZPOvAdVnn+/D01VshzrePzuX+QpwWvdu7vzSqspcG2XpBbL93Bb9/NoWyQCbRNYOfBk+nTt05UT4LZc+7NBEygewRK4/FQBb+gPHfuXDp+/PiaiZYmVqW9Vh8t5dVLi2U4PnHiRNP6VEb7ku5GeZLPZfJzycV9LsP5qVOnijZLtpGMdH/wwQdFHcpvtqcO1RdlVXcpT3Ixj+N2+qCe3eg5efJk0zYhBz/ZoL1sK+2jDMclH1XdURZdsa5cd722UEZ1oK+RDnTmdeb1lM7Pn6+94JB9Kb+Upnq0jzLN+pDV3Nkoyye2KdfHuXiqjpIMOpTPXmVyWcmQ/vHHH6ePPvpoDbOzZ8+u3MnFPfaByjfa16tTZcjP7W1WRmXjXmXiXu1GjvTYt5KTDtrHFsuoHPvYLyqjPbpiG3LdkmNfz7clE+uRLDaxqQ/kM1ViF/+UBtt6QW69dAe/XewwV2UCm0yAJ788AeZd8DwR5smwNxMwgc0nUBqPHfyG19ZoUtVsHydsHDebtKNPZbQv1dEoT/K5TH4uubjPZTiPE9CSbCMZyWvCqfN299SR24YO1V3KUx0xj+N2+qCe3ejJJ/SqL+6RixPvaEuUi8dRhmNNzqOM6o6y5Me6ojzH9dpCGdWBvkY60JPXmddTOo8BUim/lKZ6tI8yzfpQgQxl+cQ25fo4F0/VUZJBh/LZq0wuKxnSHfw6+G02XJcG23pBbr10B7/NKDvfBAaPAP8DzP8CEwTzv8H8j7A3EzCBzSNQGo8d/Dr4XTP516SffR4YKADQvl7gpfxme+pQfVFWdZfyJBfzOG4WOFFOZerZTb6CH9VT2iPXKPCqV0bplFdgqjT2qlt2Ki/WpTTt67WFMqojt1dl4z6vM+bVO3bwu/q+bz/5Xb2+GvmrfFE+1cjv6vm2ysZ6JMs1xCbf1xcmmzesljWXBtt6QW69dAe/ZbZONYFBJ8Aq0KwGTQDM6tCsEu3NBExgcwiUxmMHvw5+HfweXX23qwJQTbBLe03gNXHXviSrtCjDsSbnymevuqMs6XGSH+U51qQ/T3fwe/EXGTlXzuEU2dXrA8lQxk9+/eS32RBdGmzrBbn10h38NqPsfBMYbAK8D5j3AhME855g3hfszQRMoLMESuOxg18Hv2sm/woQSoGBAgDt6wVeym+2pw7VF2VVdylPcjGPYz/5XbsolINfB7+6VvK9rp24V9CPLOnxqb7kpIcvbthiGZVj3+jLGnTFLxxy3aqDfbP7S6xHstjEpi+X/OS3wuE/JmACfUzg2bET6VPbD1ZB8B/dfii9esiLYvVxd9m0ASMwEsEv36LHCdRmHMcJG8eaaDWqK5apJ9eKTL2y7aa3Eiw2a1euI9qvY+1L9jXKy3Xn5WNZjnNbl5dXV7puVDbmoUeT6JieHyMXJ97RllxW51GG49xe5PJgQmUbsSjpoRz2KY/6GulQPXEf7SW9dM7icmwESrHseo+b2ahABlv40Fe5XbHuVvoyrzM/j/o4pr7Sk1/ZBg9xp34dN7Izr6N0Tnk+zewrlc3Tcls4j6w4V/BLW0vytLOeLbQ5LxNtqOfnUYbjaFOex3nUI1vy4FfnlaN28U9psK33hLdeup/8drHDXJUJ9AGBu95cTr90w1gVBP/Vjuk0sbS6kGIfmGcTTGAgCZTG46F78tso+C1NyEpppYlWTFMZAixNumI+x5KJ6aTl6Zoc1ysTy9c7bkVvLqN6c3tiHY3aRl6pbB50lmSUpn2sU8f16lZ+o7KSYZ9PxCmXlxUL5BWw5DLxHNsILmVjzFPd9epFlnJ8ogznTNTr6ZJe9iWZmI/eaB95sY3SEfXEY+VH+6J+HcfgN7LI6yrpyetDp3SoftXDHh0KMJHjkwdH6Ix61ZdRT65btlIOnbF8LKd0ZBT8ciwZ2cbIoDTyo4x0KJ/zUprytY8ysjfPy6875WsfdZDW6BybY/Cb66AsW26L5PL0vC76JXLJ7UEeHVEu10F+HvyiU8GubEFHL7bSYFsvyK2X7uC3Fz3nOk2gtwQ+Pp/SdS8upJ/4xp4qCL7y2fl08mztzQq9tcy1m8BgEiiNx0MX/DZ61VGccGkCR5CgiVK+lwwT25jHhIpzTayiXtIpxwSZRXA0aYtlJIOtemUKcnEyh0zUy2SPLZehHPXoCQ3nCkpyN9UTOmTU7lwvebJPMjpX3djFpjZpwokuZPnkesWKcmfOnFmpQ/VRl45ln86lM+5VN2nIiVXUQx51sUmOvcpSLu8DTfqrQuHpVgxulBf3sU1KV99SZ65XMvlePtOoTbGNagt18IF77H/08Ill8jo5J5/y6ttcRn0b9TRrk+pu1AeyW3w5l73Ky23RuVipTOk6iH0gVvLjWE/ur7I9+pXqjftYt9LFSm2SLoKceA1iW7xuFVQjr7azb8VetU1tYo8dqjv2W5SR/aoj73/sjTqQz1nJVuQ4jnXl58jQT5EDMtSv8nDIN11fyCKXs8p9Me+DXN9mn5cG23pBbr10B7+b3UvWbwL9S2D2+Efpb384UwXAP3/tvnTza14Uq397y5b1M4HSeOzg18Fv5bOa/GoCyl4BkSacktEEWRNu0tk04UQ+nyAjq00TWepQfXHCrLqVh778o7plWwxSYrlGgRdyDn5rvaK+Vt+qr7RX38Z+ygMOyWoPXz6N+kD9qkBR/Sl7OK+3Ofhd/TJM1wO81Uf0mfpAaZEveTrPr20xd/ArEu3tS4NtvSC3XrqD3/aYW9oEhpHAW9On0p/eM1kFwb9503h6bE/tQcgwttVtMoHNIFAajx38OvitfE2T3zghjgEI6ZJRgKQJt4PftU+zdfHGp47NAkWVUUAH73oBfQxk1AcEMXwIePzktxZ0xy82YCNW8mMYy8fzL2vIy/tAfRT3Ch7pN236okABvXQR5OAHKuMnv7WnuPCgT+DEsZ/8fpjwFQe/uqK8NwETeGLv8fQ7N9cWxfrc3ZPpzalThmICJtACAQe/4X/0mGixafLLpCv/SIZJbMzTJJo9m4IUyVCOCZwCGdJjGc6RiZNzzjUpl56oN5+cS4Zy1EN9HEtvZVj2J0681e5cL+Vln2R0Lvsc/GZgs59yK9fBr5/84gu6Lh381u573K/ivYj7i4PfWsAbnwI7+NWd1HsTMAERuO31pfSvtu6rngR/5dGZNHVs9YtXyXhvAiawSsDBr4PfiwJbB79r/+86f0KrLyD0FG/1clp7FH/KrRwHvw5+8QUHv2v/n9/B78WBbgx6dezgV3dS703ABCKBMx+dT1c/N18FwLwjeOvzC+ksK2V5MwETuIjASAS/TBz0VDTf66mmnmRCSMFNLhtl9NRWMjpv9uQ3PjHWTyGpT3ZgKwGS6tKTVdUjOc4VpOb2ItPqk1+eNKsutUF6S3XHNOpRGzhmkw7k2JSvOmKa6iEtBopqa96uWLdk4j7WRbrK5+Vkm8piu+zmGCayB5n8J5fS2yz4jfVWMFKqfrqoevOgWjL5nr6kDLbx4Zi26py9bCJPbVE9yNImbUqPcsqLe+lEf2kT7/hrgGZtkv3xf36xh/RoD+fiW8ov2UOaWKkM57qeSOM83g/UBu2pN2937EfpZY9caSOPj+xHRvqVRj18sAX/kl64xHOOo/3SLX2N7BVPZNRHlOMcPUpT3ZLXudqdtzPaJxn0sulcdqqumB7tkRz9oie/Sov2UGe+5TpzVrkvyhb09mIrDbb0fzsfB7+96DnXaQKDQ+DQ8ofpy49MV0HwT1+1N93xxvLgGG9LTaBLBErj8dD9zy+TC018NLHTBEuTSPaakMfJLxMllY0ycWJGufih7zhHnrJ8OGdyxuQ36sMO1ccxtjLZjfqY5FGfdCIXbYnlJcdkkvqkJwY/0bfy4FfyakPUjd3YQhtUj/KxR2Xq6aA8W14mLyc+yOmYNse6qZ86SecT2XBOOdnBJJ9zvfoFPWwqiy7aJHkFv5Thk0+8Jce+0UY9qkNy0Rfzyblk8j19qTqxB52wIS0/l5wYI0ta7H/ZpD4kv7RJB3WUNtUV2TVrk8qozmiL9MT+oN4oo/Ile0gTK7WNc64nceI89oF8SDzRn7c7T5Mu5Eqb7KU92mQ3ezadYwv+RRn0kh6vW451P6BNsW7pKNlLnnhyzDUgee2VJlZRf15e7WCPTdjBBx+XPrULPWLAMTK6BknnOK+bfsF30FVqI3XmW7y+KBdZcZ77ovRiUy+20mBL/7fzcfDbi55znSYweAR2TZ5Kn73rcBUE/9b3D6an95fHq8FrmS02gY0TKI3HQxf8MvHXJJcJUJyIaeJImjaOmaRpcqvJHJMtbUwskVHQp/S410QuyjDJi5MwdEg/6TFIibp0LHvjxFqTQNkr2Vb2TBCxgbqZZOdbtLckk7PKy3Oes5K99Sah4hP7iTRsiVs9vWqPZGEqneTRL2ySy/WSp4CJcvkkWnqb7alHdUhWeklfj171v/xV7VKbVI8CPPLzjTQ+yDTaWunbRuVbyROfUh+ovGSa2Sv5fB+DNXwh9oGuvWbXtq4DuOV9kNcnexu1KZZpdg1G2VbtjWVaPdb9quQzUQf2yoea3TNULu8DpZf2ulfHe1xJrnR9leSU1qpeyXd6Xxps2wl8kXXw2+lesT4TGG4Cj+4+nj65vbYo1ufvm0zvzqx+KTvcLXfrTKA+gdJ47ODXwe+Kx2jSrwl9PtltJUCqF6Q6+G3//3HywIsghL5x8Lvishcd5IGXg9+LEFUJDn7LXDqVWhpsHfx2iq71mIAJNCKw/bWl9JNX7qmeBH/9sdk0d+Lihx2NyjvPBIaJQGk8dvDr4HfFxx38+snven5RsOJATQ70pUqjp6SS8ZPfi/+nHrz5l0tNkNfNdvBbF01HMkqDrYPfjqC1EhMwgRYInDjzcbri6bn041fUguAbdh5J59v/Dr6FmixiAv1NoDQedyX4ff31t9Ill3yh+nCcbzt2PLaSf+mlX0rj4xO5SMvn/tlzfVTNfnLp4NfBr4Pf2v8S66e++dP3/OpSsN4ooI9lml2DUdY/e16l4Z89r7Jo92h5+Wi67LKvV2Psli1bqy9QWtXRybG51TotZwIm0DkCBxY/TJftqC2K9bNX70v3vn20c8qtyQQGgEBPgl+eVFxzzbYqoGUQZvBlHzcG2FJQHGVaPXbwW59Us4m3g18Hvw5+HfzGO4j/5zfSaP24NNj24skv4++2bdtXxlyOGW9b3To5Nrdap+VMwAQ6T+Dlgx+kT986Uf0U+g9uO5ReGO/NYoCdb5k1mkBjAqXxeNOf/PIUl+CXQZiNwTcPdEnTk2GON7LlCx7x9ET/K8lTGj5xgq+FlpQm2bhwFbaTHtNyG/UzwihDOdWpvRZiQR+2NtqwCTmxQzaWb1S2lEd9sgN78y3aS735//xij8rnZXWup1XIsbG4ELoa/c+v8qWbfWwzejhHTny1kJbKqH4CeKWx1+JGSsv1Uk5PlZDhf0bXs6n/sVEbk13VSxDR7qayuW/mLCOLvA7pEIc8X+et9K1k17vHFvg0ekoqe7XIV7t10X+qB3/P/+eX+iOL3K+oT18CISt71Ae5PaqrUZtiGdlHudI1GGVVv3yevJK9sUyrxyV/LZVtZi/2iJHKw/z/t3emP3Ic5x3O/+SvSb4EAZIgAYwgxyc7CZLACBg4FyPHMKEcCJULK8cSyFhW1rEMk4oiibZliY5C2ZSsg5Yoi5Ysmzp4UyR3ee0ul8td7i5ZwW9W72xN852Z7pm++2mgt3u6q6vqferteus31dNrx8ZxkW2y07svLT9tR/l4nM72rfzkvWLni956wbYK8Zu0Mxazis160kqxd1jczTM2J+vCZwhAoHwCz/1sKfz6oyd7Ivhvnr0Y3r9871iw/FpRIgSKI+DF41LE7/79T/WtioNv/+DHOxoAaWY4KY6T6UZ9vnFjOWjVgMrW+JgGRTq+vHyzt9o5bXVsacn+pc7wNHZtvE3mo3MmVK1MG5B5aeO8bN9Lt7gYD8i3bLD047bKz+ogO5Pp7bz4WNlxGh03W+Lj8b6lUTodt3y0jdPZ/vZ54771BUUy/Xa6rXz0WTaoPK3b+Q3mY3Zave2zpddWedn5ZLlxulH7yfoprcpSvsZi1PXeOWNp9lleSRuMgXwjmY/5i+WRPG+fk2XZ8Ty3HqNk/majZ0syrf956/6Py/L27dr4nHdsHBfvesvH2yq9bNxqD/+esOu2/We7XbOWZ3klt2nzUTpjoP1kPtt13LrfdX7wmnv7mTiPtPWwcvQvzOLrh+2bH036JcqoGJPmnBdsqxa/euJKYlZxNvkU1uHDL4/8uVEesXll5VZghQE+UA8fePTVuZ4A/sTMe+GB/7sQLlxd5v6kjyrUB9LEziLSePE4d/GroGq/L5LQTTPzGxura7ROu2jAplUDDltsdmvUgMhmLuPZIbs+69ZmkDQQyytfmwEZNhM1qo5pH3sWN28RN9kyqmwNkpQmnq3y8koei2foVP64GSNdb3zj+iZn/m12TXUalq+VrfOTzNAmbbHPlq/KniTfpL+qfsrLbLJy5OM6pzW52PH4Pkim0ec0betdl/cxa6dx9c273GH5JdtgWLq0x8fdg3E+efUZcZ5Z91Vf8yH5c3Kxe1DtZotmi+2acU+32DXjtvJ5841xaXXevnhUf1TF4gVb+XSWVXnktSgu7979YF/gxrO+9tSVvnRW7NVnxXBdEy95xeY4T/YhAJeKJHoAACAASURBVIHqCFxf2Qz/+v35vgj+2hvXqqsMJUOgIAJePM5d/CbrrsHHqN/8KsAeOXK0d1mcNplP1s82+IoH0WkGsnkOOOOBYV75In63PcH4qq1tQfwaia2tdx8Mptj6hPj1qISx/+fXv2r4UcTvcDajziB+R9EZfU5CV2JWW1sUd733b9h5bYuKzXEZ7EMAAtUT0KPPO7/9UU8E/87XTgU9Gs0CgbYQqET8Cp6+UY6/XdYxfYus4Ds3Nx8OHHi2fz6PWV/l7w36Eb93+7Mno2ZxYjEZO38agcTM7zYxZn63WaTds9m9+EurtNcWkS5Nn5GlXMRvFlrbaRG/2yyy7sW/21UcVtxVPx3P/nr/ZUHit4jYnLX+pIcABMoh8Oqpm+FT+870RLC2r59dKadgSoFAgQQqE78F2jQ0a8TvvWjGDby9mdQ4F8RvTGP8PuJ3PKNkCsTvNpG8nhbZzjH7Ho89Z2emK7xgm+WRZ6VVHiwQgAAEyiagf4f0y//xYU8Ef/65i0H/LokFAk0l4MXjwh97rgpWHcSvBjAazGu1GaRpf0s8zWPPeiTYxIWEbnJRfcVNabyljuLX7LH6SnDqmK32+1j7LBuTi4lU2a7Bfl5L/GXCJPkmfcbaxmyyepqf6Xxy0TGtnt1x2mn8Ks5n2v1R7TRt3pNcb20g389jiX8P692DcRmI320a9kSJ5+Pbqbb3+M3vNgv2IAABCExC4NEjV/u/B37wxflwY230fyiZpAyugUDRBBC/H//roFEDWQ04NcCaVqSqMW3ApgG9BtF55GuDurSDwNipTPyqPkkBlaxvfJ3ti5vKlS3DFtmsNJO+8MquHScMVH4sLq0+OmYCSltrRzum+iWXosSviVKVPYn4tTobb/ssH40XlSNuWpOLHR8nfk3kqYwql7T1LauOdt+O6jOy1GXcvw6K8xILtUfWeynOY9r9tDO/se/FAj+vF17ZlzNp/VPMVCfvfp+WSZrrvWCrezDLysxvGtKkgQAEiiQwv7wRdh/afjP0N97kpVhF8ibv/Al48bi1M7/548ueo4mztAO2NCXYINAEUZprLI0GsqqLBoUSfMnF6hsPZJNp6v55khdeFWWTiWoxn0T8miA14aV2UV7eFxfT2qAylPckfjVt2V26ftw9GLOow8xvXJ8q9+Xz1ndVWY+0ZXvBNovwVVrEb1rapIMABIom8NNLq+GzB873ZoI/OXsqPP/ejaKLJH8I5ELAi8eI31zQ+pmYmNSgLa8F8TuaJOJ3NJ9hZxG/w8jkexzxOxlPxO9k3LgKAhCAQJ4EXjyxHH73sdM9EfzZAx+Ftz7K5ydBedaRvCAQE0D8xjRK2Ef8lgA5UQTiNwEk5UfEb0pQUyZD/E4GEPE7GTeuggAEIFAEgSd/vBB+8eEPeiL4C89dDOcX732PTBHlkicEshJA/GYlNmV6xO+UACe4HPE7AbQQAuJ3Mm5Zr0L8ZiW2lR7xOxk3roIABCBQFIHbm3fD3leu9ATwL+39MOx55UpY28jvpaFF1Zt8u0UA8VtyeyN+SwYeQkD8TsYc8TsZt6xXIX6zEttKj/idjBtXQQACECiawIWljfB3/3vp498DnwxPHLtedJHkD4HUBBC/qVHlkzB+23M+OYb+v0ya5KVUEob6/bFWDSaTi8R6k14qk6y/PpsNCwsLA3aaXTpf1sILr8oi3ZxyEL+TtRXidzJuXAUBCECgLAJvX7gV/uTJcz0R/NtfOx2+9wEvxSqLPeUMJ4D4Hc6mkDNFiF/7Fx4Sc1mXNOJXL9TS2tTFxK/46G25JvLNrrLFr5Ur0ZN1sWs1K6vFPptNWfMblV5lWP6j0nFuOgLyA+PsvXE9zt3Sadv1RT5vPJrAwgu2vO25CS1HHSEAgWkJvPDBjfDpfWd6IvhPnz4f3rnIS7GmZcr1kxPw4jFve56c59grJbTs39OMTZwygQaAEnaT/EuaLLNOKatTu2T22LO46/+NskAAAhAom4AXbBG/ZbcC5UEAAlUSePyt6+EPHj/bE8H/8PylcOlGeU/eVWk3ZdeLgBePEb8FthHit0C4Q7JG/A4Bw2EIQKA0Al6wRfyWhp+CIACBmhBYWb8bvvTS5Z4A/pUvnwiPvHYl3Mn+IFxNrKEaTSTgxWPEb4EtifgtEO6QrBG/Q8BwGAIQKI2AF2wRv6XhpyAIQKBmBM5cux3+9uOXYun3wAfeyf7TvZqZRHUaQsCLx4jfAhsP8Vsg3CFZI36HgOEwBCBQGgEv2CJ+S8NPQRCAQE0JHD23Ev7wv7cehf7jJ86FH5xcrmlNqVZbCHjxGPFbYOsifguEOyRrxO8QMByGAARKI+AFW8RvafgpCAIQqDmB7x6/EX7tKyd7j0N/7jsXwvG51ZrXmOo1lYAXjxG/BbZmEW971guv9DKnSV54JWGol2VpLeKNwQWiTJ21vnAwG8e9TTd1piSEAAQgkIGAF2wRvxkAkhQCEOgEga8fvR5+4z+3RPA/vTAXrt7c6ITdGFkeAS8eI34L5C/xm/fbniXubM1a9XhWtM3i15gjfrN6COkhAIE8CHjBFvGbB1nygAAE2kZgaXUz/PvHL8X6xMx7YfaHV9tmIvZUSMCLx4jfAhukiMeep6ku/+poGnpcCwEIQCAdAS/YIn7TsSMVBCDQTQInrqyFv37mo96j0BLBz7y71E0QWJ0rAS8eI35zRTyYGeJ3kEcZn+LZbf7PbxnEKQMCEEgS8IIt4jdJic8QgAAE7iVw5MzN8Kl9Z3oiWFt9ZoHApAS8eIz4nZRmiusQvykg5ZwE8ZszULKDAAQyE/CCLeI3M0YugAAEOkzgmXcXwy/t/bAngv/6mQvhwytrHaaB6ZMS8OIx4ndSmimuQ/ymgJRzEsRvzkDJDgIQyEzAC7aI38wYuQACEIBAmH39Wv9R6AdfnA/6jTALBNIS8OIx4jctvQnSIX4ngDblJYjfKQFyOQQgMDUBL9gifqfGSgYQgEBHCVy9uRn0Nmj9Fljr149e6ygJzM5KwIvHiN+sFDOkl/i1f7uT4bLCkkoYWn3a/LZns5G3PRfmSmQMAQiMIOAFW8TvCGCcggAEIJCCwPH51fDn39x6Kdan950J3z3OS7FSYOt0Ei8eI34LdAm9XdnWAotJnXUX3vYswat/daSVF16ldg0SQgACORLwgi3iN0fAZAUBCHSawA9OLofffex0bxb4swfOhzfPrXSaB8YPJ+DF49qI32PH3gkzM3uD/jcuSzEEuiB+eey5GN8hVwhAID0BL9giftPzIyUEIACBNASefnsh/PxDH/RE8OefvRDOXr+d5jLSdIiAF49rIX4lfHfsuA/xW7AzIn4LBkz2EIAABEIIXrBF/OIaEIAABPIncOduCI+8dqX/e+AvvXQ5rKzfyb8gcmwkAS8e10L8iubCwmKYnd3HzG+BroX4LRAuWUMAAhD4mIAXbBG/uAcEIACB4gjM3dgID0Qvxdr/o+vFFUbOjSHgxePWid+VlVuBdTgDexnU8vLNVnK6eXMlLC5u/eZX+/jCcF+ADWza7gNVRWcv2CJ+q2oNyoUABLpE4CeXVsOfPHmuNxP8Cw9/EA69f6NL5mNrgoAXjysRvwcPHuo95rxr1wO9GV/Vk5nfRGsV8NHe9qyXQbX5bc+yTyKftz0X4ERkCQEIjCXgBVvE71hsJIAABCCQG4Hvf7gcPjl7sieCP/M/58KPL9zKLW8yag4BLx5XIn49ZIhfj0q+x0z8Shi2WfwuLCwgfvN1HXKDAAQyEPCCLeI3A0CSQgACEMiJwBPHFvq/B/7CcxfDhaX1nHImmyYQ8OJxLcSvfuurF17ZqhdgseRPgN/85s+UHCEAAQgkCXjBFvGbpMRnCEAAAuUQWF2/E/a8sv1SrL2vXAnrm3fLKZxSKiXgxeNaiN9KqXSocMRvhxobUyEAgcoIeMEW8VtZc1AwBCAAgR6Bcwu3w67nLvZngp/88QJkWk7Ai8eI35Y3emwe4jemwT4EIACBYgh4wRbxWwxrcoUABCCQlcCPzq+EP3pi66VY+j3wix8uZ82C9A0h4MVjxG9DGi+PaiJ+86BIHhCAAARGE/CCLeJ3NDPOQgACECibwPPv3Qi/+pUTvZngz33nQvjppdWyq0B5BRPw4jHit2Dodcoe8Vun1qAuEIBAWwl4wRbx29bWxi4IQKDpBPb96Hr/Ueh/+d58mF/eaLpJ1P9jAl48Rvx2yD30tmf7N0BtfduzvdFadt65c6dDrYupEIBAXQh4wRbxW5fWoR4QgAAE7iWwvHYnPPji5b4IfvTI1cArse7l1LQjXjxG/DatFaeorwnDNv+rI9m4urraWxG/UzgLl0IAAhMT8IJtleJX/0pw9+4Hw+nTZzPZdPDgof5/Ydi58/7M12cqjMQQgAAEakDg1LW1cN8zH/VF8Ld+sliDWlGFSQl48RjxOynNBl7XhceeG9gsVBkCEGgZAS/YViV+JXx37XogTCJeJX7514Mtc07MgQAEUhF4/exK+NS+Mz0RvOOp8+HVUzdTXUeiehHw4jHit15tVGhtEL+F4iVzCEAAAj0CXrCtSvxak+zf/9TAzK1mgSWId+y4L8zO7rNkA1sd1/lRaQYu4AMEIACBlhF47mdL/Vng39t3Jrx/ea1lFrbbHC8eI37b3eYD1iF+B3DwAQIQgEAhBLxgWyfxq9ngmZm9QVsthw+/PCCMk1D0UxKln2YWeHV1LbDCAB/AB5rqA4++OtcXwf9y6GKYW7hFn5ahX0/GlbI+e/EY8VsW/RqUg/itQSNQBQhAoPUEvGBbJ/Ebz/razK6Erf3GV49JmzC2xtI5rZMum5t3AisM8AF8oMk+cGV5PfzzC5f6IvirP7xKv5ayb580dkx7nRePEb/TUm3Q9YjfBjUWVYUABBpLwAu2dRK/yZlfD7TSHDlytHdKM7979syOnB328uAYBCAAgTYS0KPPf/HN7Zdi6dFolnoS8OIx4reebVVIrbrwtudCwJEpBCAAgQwEvGBblfjVjK7N7sa/3Y1nf72XYUn8HjjwbP/aaWZ9M6AjKQQgAIHGENBLsP706fO9meA/O3A+6CVZLPUi4MVjxG+92qjQ2pj41f/A1UCMBQIQgAAE8ifgBduqxG/+1pEjBCAAAQjEBPTvkD4x815v/dvvXgynrjHGjvlUue/FY8RvlS1Sctk89lwycIqDAAQ6ScALtojfTroCRkMAAh0i8OiRq30R/KWXLofl23c6ZH09TfXiMeK3nm1VSK0Qv4VgJVMIQAACAwS8YIv4HUDEBwhAAAKtJHD55kaYOTzfF8HfePNaK+1silFePEb8NqX1cqgn4jcHiGQBAQhAYAwBL9gifsdA4zQEIACBFhH46dxq2PHU1u+B9Uj08+/xUqwqmteLx4jfKlqiojIRvxWBp1gIQKBTBLxgi/jtlAtgLAQgAIEegRdPLPdngf/q2x+Ftz66BZkSCXjxGPFbYgNUXVT8wqv19fWqq0P5EIAABFpJwAu2iN9WNjVGQQACEEhF4MkfL/RF8BeeuxjOLzAOTwVuykRePEb8Tgm1SZfH4ndtba1JVaeuEIAABBpDwAu2iN/GNB8VhQAEIFAIgdubd8PeV6/0RfCely+HtY27hZRFplsEvHiM+O2Qd/DYc4caG1MhAIHKCHjBFvFbWXNQMAQgAIFaEbiwuB52H5rri+An3rpeq/q1qTJePEb8tqmFx9iC+B0DiNMQgAAEciDgBVvEbw5gyQICEIBAiwi8fWE1/MPzl/oi+PsfLrfIunqY4sVjxG892qaUWiB+S8FMIRCAQMcJeMEW8dtxp8B8CEAAAkMIvPDBjb4A/tx3LoR3LvJSrCGoMh/24jHiNzPG5l6A+G1u21FzCECgOQS8YIv4bU77UVMIQAACVRB4/K3rfRG86+DFcGmJl2JN2w5ePEb8Tku1QdcjfhvUWFQVAhBoLAEv2CJ+G9ucVBwCEIBAaQRW1u+EL710uS+CH3ntati8w0uxJm0ALx6XJn4PHjwUZmf3uXXXuR077uutO3feH06fPuum4+B0BBC/0/HjaghAAAJpCHjBFvGbhhxpIAABCEBABM5evx3+Pvo98NNvLwJmAgJePC5F/Jq4HSV+jx17ZwKTuCQLAYnflZWV3rqxsZHlUtJCAAIQgEBKAl6wRfymhEcyCEAAAhDoEzh6bqU/C/yJmffCD07yUqw+nBQ7XjwuRfyqbprN3b//KbeaEsU28ztMILsXchACEIAABCBQMwJesEX81qyRqA4EIACBBhE4+LOlARH83vxag2pfXVW9eFwL8WtIVldXw8zM3jDNLPDa2u3ACgN8AB/AB/ABiy1lb71gi/gtuxUoDwIQgED7CDz2xrW+CP6378+Hqzd5knNUK3vxOHfxu7CwGHbteqA3k6vHnW0ZNfNrabTVNfF18bk0++vrG4EVBvgAPoAP4ANpYkYRabxgi/gtgjR5QgACEOgegaXVzSDhq8egtc7+8Gr3IKS02IvHuYvfYXUZJn4llo8cOdq7TDO/e/bM8sKrYRA5DgEIQAACtSfgBVvEb+2bjQpCAAIQaBSBE1fW+gJYIviZd3kpVrIBvXhcuPi1R5ntN732NmfN7uoR57m5+XDgwLP93/xOM+ubNJjPEIAABCAAgbIJeMEW8Vt2K1AeBCAAgW4QOHLm5oAI1meWLQJePC5c/AIfAhCAAAQg0CUCXrBF/HbJA7AVAhCAQPkENPNrj0Jr++EVXorlxWPEb/m+SYkQgAAEINBiAl6wRfy2uMExDQIQgECNCOg3wCaC9dtg/Ua4q4sXjxG/XfUG7IYABCAAgUIIeMEW8VsIajKFAAQgAAGHgN4CHb8U67Gj15xU7T/kxWPEb/vbHQshAAEIQKBEAl6wRfyW2AAUBQEIQAACPQLH51f7s8CaDf7u8aVOkfHiMeK3Uy6AsRCAAAQgUDQBL9gifoumTv4QgAAEIDCMwA9ODr4U681zK8OStuq4F48Rv61qYoyBAAQgAIGqCXjBFvFbdatQPgQgAAEIPP32wsBM8Nnrt1sNxYvHiN9WNznGQQACEIBA2QS8YIv4LbsVKA8CEIAABDwCm3fuhkdeu9IXwQ+/fDmsrN/xkjb+mBePEb+Nb1YMgAAEIACBOhHwgi3it04tRF0gAAEIQODS0npfAOv3wI+/tdA6KF48Rvy2rpkxCAIQgEC9CRw8eCjs2HFfb52d3der7MLCYtD+6upqvSufonZesEX8pgBHEghAAAIQKJWA4vGn//LfBkTwt96aa3U8RvyW6mIUBgEIQKDbBE6fPhv27Jnti9zDh18OOob4vR1igSwBzQIBCEAAAhAoikAyHj/0zTcGRPAbpxaLKrq0fL0voxG/peGnIAhAAAIQkMjdvfvBnuA1GprtnZnZ25sJ3rnz/t45BWXta4bYZoctUO/a9UDvuK6p40yxF2xjYZtmH/Fr3sEWAhCAAASKIDAsHn9m5pkBEfz6u2daFY8Rv0V4E3lCAAIQgMBQArHY1SNXWkzY6pwCsoSttlpsdlhpJJztuESxXd9LWJM/iN+aNATVgAAEIACBkQSGxeOH9vxX+OLhi30RPHPoo3B7824r4jHid6RLcBICEIAABIokIAF77Ng7A+I3nvW13wYn06hOOob4LbJ1yBsCEIAABLpCwIvHR9493RfAeinWb33+q/fEbPFpUjxG/HbFo0MId+/eDRsbG/21Q6ZjKgQgUBMCyQBps7ejZn6t6nEaHbNAbefrsmXmty4tQT0gAAEIQGAYgSzx+KXjlwdE8JOvnRp4f0eT4jHid5hHtPC4xO/i4mJvlQhmgQAEIFA2gUuXtt4iaTO6Cpha4kevFJDj2V/vd8Dxb4HLtmFceYjfcYQ4DwEIQAACVROYJB5/etfsgAj+/b/814F3c1RtU7J8Lx63Tvxevnw1bGxsJm3vzOf19Y1w5co1114Tv0tLS73ZXzdRCw7euHEzLC/fbIElk5vAfTD8PpicarOubON9kJz5rWuLeME2zUuu4jTKg6X5BFZWboXFxRvNN2RCCzTuuHTp8oRXt+OyhYWlcOtW8/+F26StsbZ2O1y71r7/H5uFx/z81bC52S5t8vChkwMieH55+KSaxuRVjcu9eIz4zeK9DUiL+A2hjYP+rK6H+EX8tvE+QPxm7QlIXzUBxC/iF/GL+G2j+FU8/uKexwYE8KNHrvZ+YpnsdxG/SSI5f2bQP3zQz8xvzs5W4+y4D4bfBzVutlyr1kbxmyugAjPzvmmOZ3XT7DPzW2ADlZg14hfxi/hF/LZR/Mbd6KlrtwdE8Ld+Mvj/gRG/Ma0C9hn0Dx/0I34LcLiaZsl9MPw+qGmT5V4txG/uSFNn2BbxG//uuo5v1U7dIBUmRPwifhG/iN+2i1/rYl8/uzIggl89dTNcX9kMr7x/Jbz6wZWwcKv8R7+9eMxjz9ZiLdny2DOPPcuVEb+IX8RvdZ26F2zTzPbGaeow82tv79TLyPbsme29hKw6qs0sGfGL+EX8In67In6tl37up0sDIvj+75wJD33vbPjkV0+FxZIFsBePEb/WUi3ZIn4Rv3JlxC/iF/FbXafuBdtY2KbZr1r8LiwshpmZvUFbLZr5nWb29+LF+cAKA3wAH8AHuuMDn3l8+6VYXzx0NvzqIyfCgXfKffmZF48Rv9WNjwopeZz41Tf4Wtv8r44Y9CN+R90Hhdx4NcyU+6C6RvGCbRrBG6epg/jVzK/ihZbk/4PMSlcDXr31t4tbG+xjP+3fRf/vqt9j9+Xw5RfPhV98+P0g4fvQC2fDb/znifDtxO+Bs8aSrOm9eIz4zUqx5ukZ9DPzKxdl5peZX8RvdZ21F2xjYZtmvw7iN8+Z3+pao9qSeeyZx5557JnHnrv22LP1uvqN72/+16nw5RfPh6+8dD783v4zYWm13N/9evEY8Wst1JIt4hfxK1dG/CJ+Eb/VdepesE0jeOM0VYtf0eM3v9P7EOIX8Yv4Rfx2VfyqB9VvfN84cTW8efJa6cJX5XvxGPE7fWyrVQ6IX8SvHBLxi/hF/FbXNXvBNha2afbrIH552/P0PoT4RfwifhG/XRa/6kX5V0fTx5KROTDoZ9DPoB/xy5dAfAk0MlAUfLIt4rdgTJ3IHvGL+EX8In4Rvzd7AriKTt+Lx8z8VtESBZbJoJ9Bv9yLL4H4EogvgQrsaMdk7QXbNLO9cZo6zPyOMZPTKQggfhG/iF/EL+IX8ZsiXJAEAhCAAAQg0EwCiN9mthu1hgAEIACBdhHw4nHrZn7b1WRYAwEIQAACTSPgBdt4VjfNPjO/TWt16gsBCEAAAnUj4MVjxG/dWon6QAACEIBAowl4wTaN4I3TIH4b7QJUHgIQgAAEakDAi8eI3xo0DFWAAAQgAIH2EPCCbSxs0+wjftvjD1gCAQhAAALVEPDiMeK3mragVAhAAAIQaCkBL9imEbxxGsRvS50DsyAAAQhAoDQCXjxG/JaGn4IgAAEIQKALBLxgGwvbNPuI3y54CjZCAAIQgECRBLx4jPgtkjh5QwACEIBA5wh4wTaN4I3TIH475zYYDAEIQAACORPw4jHiN2fIZAcBCEAAAt0m4AXbWNim2Uf8dtuHsB4CEIAABKYn4MVjxO/0XGuXw+rqatizZzacPn22dnWrokLHjr0TZmf3VVF0bcqU/eLQ1YV7IvTav+v3QVn+7wXbNII3ToP4Lau1ii+H/mebMSzoizU21RhVvtDVpetjsjLH5V48bpX4lTPt2HFf2LXrgbCwsNiJe0qdyM6d9/fslu0HDx7qdShdEL9q4927HxwQ+bqhxEGrib0yb7KynU7tHQsaMZH/GwM718aOVoFzZmZvz9b4no/vCfHR0tYBV9zeYmGDCesL5QfGps33Qdn33bjyvGAbC9s0+4jfcZTreV59jvW/is3qj9ra/yRbIBmP4j7a+qc2s1Afa3Yam670xXFbW8wRAy8e61gbxW9879v4M47R6hfaPCaLbY19QCysTzQu2hoLu1eK2nrxuDXiN76ZyoRaVGOlzVd279//1EDyNgcXM9RuMhtc6Hhst84rCGnbVn+wjjbuQGSvPotFvOiYdTrx8Sbvy+/l/1riQZfZGvtDvN9km+O6yybZqjbXon1x0BKz6R0IzDYYhzK2XrBNI3jjNIjfMloq/zJ0Dyb72jb2P0lyXjyKY6/Oa20rC9mqAX5S/HalL47tVDsrHmnx4nE8Xk/6UVM/q/1ltxbZp4kZxeYuj8mS97tYVDEu9+Jxa8SvIJvjxYCbeiOlrbd1uOp07ZuWOLiIhY4bm7T5NiVd3OEmO1TrdJMB2Dg1xcZR9ZTNYmCLPtuTAPEXA8ZCvqHOxwKTXdf0rQWe5L1v/UIX7gnZKg7WxvZNq937bb4P6ua/XrCNhW2afcRv3Vo1XX3Ut9q9Z/1sF/of0UnGI4s7dk6zfeqj7cm0to1PZI9sVntr6WpfPC4ex2M1pY3HKj1wDf8T+0FXx2R278dtrWa142WOR7x43CrxK5ha1OEIsBywS4sGudbxKriIR/Kx4LbxSIrfWAiaGLCbzPi0iUFysBHbJrvtW2j5xZEjR3uf7T6J0zZ5P77f46Ajm2Sr2l1p2nxPJO229tRx6wPafB+YvXXZesE2jeCN0yB+69Kak9XDhI/uu7b3P0YoGY/i+Gx9lLZt7YvNRrV3culKXyzbbfyd5GHx2ASRjUk8Xkl+TfpsY89knWV/28dksl1f/slWLck+wdjovPxEn7UtcvHicavEryBq0Q1nU+tFAq1b3tahmP36Nq3tHOLgavZbR6obSjeYVt2M//iPM62bAU92LLFPmh9YAJI/iIGuacuitpaPW0cb2ywb1SdotXRtvCdkswlcr127cB94dld5zAu2sbBNs4/4rbIF8ym7C/1PTCoZj6zvURqLz9ZHt7Uvls02BonZaN94tHVMYnF2XDyWL6j99RRePGGR5NXEz7rn1c7eYr6vuGkIkwAABUVJREFUrdK0cUxmdss+rXbf2z2hY/KPMu8BLx63RvzGgAVVgLuwHD78cr+jjQOtPVYkLm3rXOJ2jcWvbi6zO+5kYn+I08f5NHU/2b76JlW2a4nttg7HOl3riJpqt+otWxQ8ZWe8mK2xP8T7SWbxtU3bly1ioK0t2j9+/IPex67cB2Z7XbZesE0jeOM0iN+6tGb6euh+Ux+sJe5z4v029T9JMknb4hjUhfFJMr52qS/OEo/FRWM13Rfyi2QMT/pVUz5r7JHUHl0akx048Ow948+476tqPOLF49aIX90ccjrN8LXpN52jbno5lToNfXsku+1xitjZjEvyhhyVbxPOyW7ZbKvZFx+3DlVbO69ONykWmmBvso5qY7W32S8fsEAr+3Q8vg9kv/FQsDFfSebbpM+yw+yP7RUHuyeURktb7wm1a8xA7To3N98bWNhxa/c23gd19Vcv2MbCNs0+4reurTu8XhrcaQBo917b+x8jMSwexcct5nSlL1Z/K3+QyDN/aHNfnCUex+J3mGg232rKNh53xO2tL6K7MCbTfS3/trFXPP7U8ZiJ2lTHyhqXe/G4VeK3KTcJ9YQABCAAgfYS8IJtGsEbp0H8ttc/sAwCEIAABMoh4MVjxG857CkFAhCAAAQ6QsALtrGwTbOP+O2Is2AmBCAAAQgURsCLx4jfwnCTMQQgAAEIdJGAF2zTCN44DeK3i56DzRCAAAQgkCcBLx4jfvMkTF4QgAAEINB5Al6wjYVtmn3Eb+fdCAAQgAAEIDAlAS8eI36nhMrlEIAABCAAgZiAF2zTCN44DeI3Jso+BCAAAQhAIDsBLx4jfrNz5AoIQAACEIDAUAJesI2FbZp9xO9QvJyAAAQgAAEIpCLgxWPEbyp0JIIABCAAAQikI+AF2zSCN06D+E3HmlQQgAAEIACBYQS8eIz4HUaL4xCAAAQgAIEJCHjBNha2afYRvxOA5xIIQAACEIBARMCLx4jfCBC7EIAABCAAgWkJeME2jeCN0yB+p20FrocABCAAga4T8OIx4rfrXoH9EIAABCCQKwEv2MbCNs0+4jfXJiEzCEAAAhDoIAEvHiN+O+gImAwBCEAAAsUR8IJtGsEbp0H8Ftc+5AwBCEAAAt0g4MVjxG832h4rIQABCECgJAJesI2FbZp9xG9JjUUxEIAABCDQWgJePEb8tra5MQwCEIAABKog4AXbNII3ToP4raLlKBMCEIAABNpEwIvHiN82tTC2QAACEIBA5QS8YBsL2zT7iN/Km5EKQAACEIBAwwl48Rjx2/BGpfoQgAAEIFAvAl6wTSN44zSI33q1KbWBAAQgAIHmEfDiMeK3ee1IjSEAAQhAoMYEvGAbC9s0+4jfGjcwVYMABCAAgUYQ8OLxgPg9efJk2NzcbIQxVBICEIAABCBQNwKKoYqlaQTuqDTE47q1LPWBAAQgAIEmERgWjwfE79zcXJifn0cAN6llqSsEIAABCNSCgAKtYqhi6Shhm+Yc8bgWTUolIAABCECggQRGxeMB8auArICrb5w1TcwKA3wAH8AH8AF8IJ0PKHbmIXxNHBOP03HHP+GED+AD+AA+EPvAqHh8j/i1oMv29tTf3MMQhvgAPoAP4AP4AD6AD+AD+AA+gA/UwwcQv7fr0RDcELQDPoAP4AP4AD6AD+AD+AA+gA/gA8X5AOIX8csMNz6AD+AD+AA+gA/gA/gAPoAP4AOt9wHEL07eeifn27Pivj2DLWzxAXwAH8AH8AF8AB/AB5riAz+3trYWWGGAD+AD+AA+gA/gA/gAPoAP4AP4AD7QZh/4f0nv4RC9KwnRAAAAAElFTkSuQmCC)\n",
- "\n",
- "When training is complete, our model is logged and versioned along with its performance as metadata.\n",
- "\n",
- "![image.png](data:image/png;base64,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)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "When we want to close our W&B run, we can call `wandb.finish()` (mainly useful in notebooks, called automatically in scripts)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "wandb.finish()"
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "include_colab_link": true,
- "provenance": [],
- "toc_visible": true
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/colabs/huggingface/wandb_hf_example.ipynb b/colabs/huggingface/wandb_hf_example.ipynb
index 2c94bdce..b1bcf54f 100644
--- a/colabs/huggingface/wandb_hf_example.ipynb
+++ b/colabs/huggingface/wandb_hf_example.ipynb
@@ -89,7 +89,15 @@
"outputs": [],
"source": [
"# Login and authenticate Weights & Biases\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/intro/3_in_1_Intro_to_Weights_&_Biases_CV,_NLP_and_RL.ipynb b/colabs/intro/3_in_1_Intro_to_Weights_&_Biases_CV,_NLP_and_RL.ipynb
index c1fd9d6b..75becb55 100644
--- a/colabs/intro/3_in_1_Intro_to_Weights_&_Biases_CV,_NLP_and_RL.ipynb
+++ b/colabs/intro/3_in_1_Intro_to_Weights_&_Biases_CV,_NLP_and_RL.ipynb
@@ -126,7 +126,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/intro/Intro_to_Weights_&_Biases.ipynb b/colabs/intro/Intro_to_Weights_&_Biases.ipynb
index 23aa4b2f..e2705b2c 100644
--- a/colabs/intro/Intro_to_Weights_&_Biases.ipynb
+++ b/colabs/intro/Intro_to_Weights_&_Biases.ipynb
@@ -76,7 +76,15 @@
"outputs": [],
"source": [
"# Log in to your W&B account\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/intro/Intro_to_Weights_&_Biases_keras.ipynb b/colabs/intro/Intro_to_Weights_&_Biases_keras.ipynb
index df3f2a22..7c80dc77 100644
--- a/colabs/intro/Intro_to_Weights_&_Biases_keras.ipynb
+++ b/colabs/intro/Intro_to_Weights_&_Biases_keras.ipynb
@@ -73,7 +73,15 @@
"outputs": [],
"source": [
"# Log in to your W&B account\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/intro/Report_API_Quickstart.ipynb b/colabs/intro/Report_API_Quickstart.ipynb
index f5b21445..5945ccba 100644
--- a/colabs/intro/Report_API_Quickstart.ipynb
+++ b/colabs/intro/Report_API_Quickstart.ipynb
@@ -38,11 +38,11 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
- "!pip install wandb"
+ "!pip install wandb -qqq"
]
},
{
@@ -521,7 +521,7 @@
"source": [
"report = wr.Report(\n",
" PROJECT,\n",
- " title=\"Resizing panels\"\n",
+ " title=\"Resizing panels\",\n",
" description=\"Look at this wide parallel coordinates plot!\",\n",
" blocks=[\n",
" wr.PanelGrid(\n",
@@ -563,7 +563,7 @@
"report = wr.Report(\n",
" PROJECT,\n",
" title='W&B Block Gallery',\n",
- " description=\"Check out all of the blocks available in W&B\"\n",
+ " description=\"Check out all of the blocks available in W&B\",\n",
" blocks=[\n",
" wr.H1(text=\"Heading 1\"),\n",
" wr.P(text=\"Normal paragraph\"),\n",
@@ -621,7 +621,7 @@
"report = wr.Report(\n",
" project=PROJECT,\n",
" title='W&B Panel Gallery',\n",
- " description=\"Check out all of the panels available in W&B\"\n",
+ " description=\"Check out all of the panels available in W&B\",\n",
" width='fluid',\n",
" blocks=[\n",
" wr.PanelGrid(\n",
@@ -703,7 +703,7 @@
" wr.CustomChart(\n",
" query={'summary': ['val_loss', 'val_acc']},\n",
" chart_name='wandb/scatter/v0',\n",
- " user_fields={'x': 'val_loss', 'y': 'val_acc'}\n",
+ " chart_fields={'x': 'val_loss', 'y': 'val_acc'}\n",
" ),\n",
" wr.WeavePanelSummaryTable(\"my-table\"),\n",
" wr.WeavePanelArtifact('model-1', 'lineage', layout={'w': 24, 'h': 12}),\n",
@@ -812,7 +812,7 @@
"source": [
"report = wr.Report(PROJECT,\n",
" title=\"Report with links\",\n",
- " description=\"Use `wr.Link(text, url)` to add links inside normal text, or use normal markdown syntax in a MarkdownBlock\"\n",
+ " description=\"Use `wr.Link(text, url)` to add links inside normal text, or use normal markdown syntax in a MarkdownBlock\",\n",
" blocks=[\n",
" wr.H1(\"This is a normal heading\"),\n",
" wr.P(\"And here is some normal text\"),\n",
@@ -835,7 +835,7 @@
"report3 = wr.Report(\n",
" PROJECT,\n",
" title=\"Combined blocks report\",\n",
- " description=\"This report combines blocks from both Report 1 and Report 2\"\n",
+ " description=\"This report combines blocks from both Report 1 and Report 2\",\n",
" blocks=[*report1.blocks, *report2.blocks]\n",
")\n",
"report3.save()"
@@ -857,7 +857,7 @@
"report4 = wr.Report(\n",
" PROJECT,\n",
" title=\"Referenced reports via Gallery\",\n",
- " description=\"This report has gallery links to Report1 and Report 2\"\n",
+ " description=\"This report has gallery links to Report1 and Report 2\",\n",
" blocks=[wr.Gallery(ids=[report1.id, report2.id])]\n",
")\n",
"report4.save()"
@@ -939,7 +939,7 @@
"report = wr.Report(\n",
" PROJECT,\n",
" title=\"Report with markdown\",\n",
- " description=\"See what's possible with MarkdownBlock and MarkdownPanel\"\n",
+ " description=\"See what's possible with MarkdownBlock and MarkdownPanel\",\n",
" blocks=[\n",
" wr.MarkdownBlock(markdown),\n",
" wr.PanelGrid(\n",
@@ -1082,7 +1082,7 @@
"report = wr.Report(\n",
" project=PROJECT,\n",
" title=\"Parallel Coordinates Example (all-in-one)\",\n",
- " description=\"Using the pytorch sweeps demo (same as the other one but written in one expression)\"\n",
+ " description=\"Using the pytorch sweeps demo (same as the other one but written in one expression)\",\n",
" blocks=[\n",
" wr.PanelGrid(\n",
" runsets=[wr.Runset(project=\"pytorch-sweeps-demo\")],\n",
@@ -1259,7 +1259,7 @@
"metadata": {},
"outputs": [],
"source": [
- "report = wr.Report(project=PROJECT, title='Adding artifact lineage to reports', \"via WeaveBlockArtifact, WeaveBlockArtifactVersionedFile, or their panel equivalents\")"
+ "report = wr.Report(project=PROJECT, title='Adding artifact lineage to reports', description=\"via WeaveBlockArtifact, WeaveBlockArtifactVersionedFile, or their panel equivalents\")"
]
},
{
@@ -1597,6 +1597,18 @@
"kernelspec": {
"display_name": "Python 3",
"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.9.10"
}
},
"nbformat": 4,
diff --git a/colabs/intro/boom.txt b/colabs/intro/boom.txt
new file mode 100644
index 00000000..89656223
--- /dev/null
+++ b/colabs/intro/boom.txt
@@ -0,0 +1 @@
+tcnuqua1t6tw
\ No newline at end of file
diff --git a/colabs/jax/training_with_tfrecords_in_jax_imagenette.ipynb b/colabs/jax/training_with_tfrecords_in_jax_imagenette.ipynb
index b4191be8..04d7418c 100644
--- a/colabs/jax/training_with_tfrecords_in_jax_imagenette.ipynb
+++ b/colabs/jax/training_with_tfrecords_in_jax_imagenette.ipynb
@@ -504,13 +504,6 @@
"source": [
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/jupyter/Interactive_W&B_Charts_Inside_Jupyter.ipynb b/colabs/jupyter/Interactive_W&B_Charts_Inside_Jupyter.ipynb
index 3918bb68..c7b29721 100644
--- a/colabs/jupyter/Interactive_W&B_Charts_Inside_Jupyter.ipynb
+++ b/colabs/jupyter/Interactive_W&B_Charts_Inside_Jupyter.ipynb
@@ -95,7 +95,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/keras/Fine_tune_Vision_Transformer_using_KerasCV.ipynb b/colabs/keras/Fine_tune_Vision_Transformer_using_KerasCV.ipynb
index 8554cbef..68db1c28 100644
--- a/colabs/keras/Fine_tune_Vision_Transformer_using_KerasCV.ipynb
+++ b/colabs/keras/Fine_tune_Vision_Transformer_using_KerasCV.ipynb
@@ -47,8 +47,15 @@
"\n",
"import wandb\n",
"from wandb.keras import WandbMetricsLogger\n",
- "from wandb.keras import WandbEvalCallback\n",
- "\n",
+ "from wandb.keras import WandbEvalCallback\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -321,13 +328,6 @@
"# Close the W&B run\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/keras/Image_Segmentation_with_Keras.ipynb b/colabs/keras/Image_Segmentation_with_Keras.ipynb
index 85cf9cae..7caba275 100644
--- a/colabs/keras/Image_Segmentation_with_Keras.ipynb
+++ b/colabs/keras/Image_Segmentation_with_Keras.ipynb
@@ -34,8 +34,15 @@
"source": [
"import wandb\n",
"from wandb.keras import WandbMetricsLogger\n",
- "from wandb.keras import WandbEvalCallback\n",
- "\n",
+ "from wandb.keras import WandbEvalCallback\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/keras/Keras_param_opti_using_sweeps.ipynb b/colabs/keras/Keras_param_opti_using_sweeps.ipynb
index b6175ce6..a8b755f3 100644
--- a/colabs/keras/Keras_param_opti_using_sweeps.ipynb
+++ b/colabs/keras/Keras_param_opti_using_sweeps.ipynb
@@ -102,8 +102,15 @@
"outputs": [],
"source": [
"import wandb\n",
- "from wandb.keras import WandbMetricsLogger, WandbModelCheckpoint\n",
- "\n",
+ "from wandb.keras import WandbMetricsLogger, WandbModelCheckpoint\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/keras/Legacy_Keras_pipeline_with_Weights_and_Biases.ipynb b/colabs/keras/Legacy_Keras_pipeline_with_Weights_and_Biases.ipynb
index 3008b3f8..97836a06 100644
--- a/colabs/keras/Legacy_Keras_pipeline_with_Weights_and_Biases.ipynb
+++ b/colabs/keras/Legacy_Keras_pipeline_with_Weights_and_Biases.ipynb
@@ -112,7 +112,15 @@
"metadata": {},
"outputs": [],
"source": [
- "# Login to W&B\n",
+ "# Login to W&B"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/keras/Simple_Keras_Integration.ipynb b/colabs/keras/Simple_Keras_Integration.ipynb
index f5e51f51..bf5d8739 100644
--- a/colabs/keras/Simple_Keras_Integration.ipynb
+++ b/colabs/keras/Simple_Keras_Integration.ipynb
@@ -120,8 +120,15 @@
"outputs": [],
"source": [
"import wandb\n",
- "from wandb.keras import WandbMetricsLogger, WandbModelCheckpoint, WandbEvalCallback\n",
- "\n",
+ "from wandb.keras import WandbMetricsLogger, WandbModelCheckpoint, WandbEvalCallback\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/keras/cosine_decay_using_keras.ipynb b/colabs/keras/cosine_decay_using_keras.ipynb
index 9128a2c2..17e2d329 100644
--- a/colabs/keras/cosine_decay_using_keras.ipynb
+++ b/colabs/keras/cosine_decay_using_keras.ipynb
@@ -40,8 +40,15 @@
"\n",
"# Weights and Biases related imports\n",
"import wandb\n",
- "from wandb.keras import WandbMetricsLogger\n",
- "\n",
+ "from wandb.keras import WandbMetricsLogger\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/keras/keras_core/monai_medmnist_keras.ipynb b/colabs/keras/keras_core/monai_medmnist_keras.ipynb
new file mode 100644
index 00000000..747baa6f
--- /dev/null
+++ b/colabs/keras/keras_core/monai_medmnist_keras.ipynb
@@ -0,0 +1,477 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "dMq6cFtJl2vR"
+ },
+ "source": [
+ "\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "2eqSE_8rl6yo"
+ },
+ "source": [
+ "# 🩺 Medical Image Classification Tutorial using MonAI and Keras\n",
+ "\n",
+ "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/keras/keras_core/monai_medmnist_keras.ipynb)\n",
+ "\n",
+ "This notebook demonstrates\n",
+ "- an end-to-end training using [MonAI](https://github.com/Project-MONAI/MONAI) and [KerasCore](https://github.com/keras-team/keras-core).\n",
+ "- how we can use the backend-agnostic Keras callbacks for [Weights & Biases](https://wandb.ai/site) to manage and track our experiment.\n",
+ "\n",
+ "Original Notebook: https://github.com/Project-MONAI/tutorials/blob/main/2d_classification/mednist_tutorial.ipynb"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Ny_HOlvymX6O"
+ },
+ "source": [
+ "## Installing and Importing the Dependencies"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "6SvDmUxVmatW"
+ },
+ "source": [
+ "- We install the `main` branch of [KerasCore](https://github.com/keras-team/keras-core), this lets us use the latest feature merged in KerasCore.\n",
+ "- We install [monai](https://github.com/Project-MONAI/MONAI), a PyTorch-based, open-source framework for deep learning in healthcare imaging, part of the PyTorch Ecosystem.\n",
+ "- We also install [wandb-addons](https://github.com/soumik12345/wandb-addons), a library that hosts the backend-agnostic callbacks compatible with KerasCore"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "ZO1xjFtvVdqQ"
+ },
+ "outputs": [],
+ "source": [
+ "# install the `main` branch of KerasCore\n",
+ "!pip install -qq namex\n",
+ "!apt install python3.10-venv\n",
+ "!git clone https://github.com/soumik12345/keras-core.git && cd keras-core && python pip_build.py --install\n",
+ "\n",
+ "# install monai and wandb-addons\n",
+ "!pip install -qq git+https://github.com/soumik12345/wandb-addons\n",
+ "!pip install -q \"monai-weekly[pillow, tqdm]\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "c6vd3NZ-mhxs"
+ },
+ "source": [
+ "We specify the Keras backend to be using `torch` by explicitly specifying the environment variable `KERAS_BACKEND`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "d5ZiQmMkW-h3"
+ },
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "os.environ[\"KERAS_BACKEND\"] = \"torch\"\n",
+ "\n",
+ "import shutil\n",
+ "import tempfile\n",
+ "import matplotlib.pyplot as plt\n",
+ "import PIL\n",
+ "import torch\n",
+ "import numpy as np\n",
+ "from sklearn.metrics import classification_report\n",
+ "\n",
+ "import keras_core as keras\n",
+ "from keras_core.utils import TorchModuleWrapper\n",
+ "\n",
+ "from monai.apps import download_and_extract\n",
+ "from monai.config import print_config\n",
+ "from monai.data import decollate_batch, DataLoader\n",
+ "from monai.metrics import ROCAUCMetric\n",
+ "from monai.networks.nets import DenseNet121\n",
+ "from monai.transforms import (\n",
+ " Activations,\n",
+ " EnsureChannelFirst,\n",
+ " AsDiscrete,\n",
+ " Compose,\n",
+ " LoadImage,\n",
+ " RandFlip,\n",
+ " RandRotate,\n",
+ " RandZoom,\n",
+ " ScaleIntensity,\n",
+ ")\n",
+ "from monai.utils import set_determinism\n",
+ "\n",
+ "import wandb\n",
+ "from wandb_addons.keras import WandbMetricsLogger, WandbModelCheckpoint"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "1BvtLvxKmkSp"
+ },
+ "source": [
+ "We initialize a [wandb run](https://docs.wandb.ai/guides/runs) and set the configs for the experiment."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "WUt7PAsado4j"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.init(project=\"keras-torch\")\n",
+ "\n",
+ "config = wandb.config\n",
+ "config.batch_size = 128\n",
+ "config.num_epochs = 1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "NE938skxmoMI"
+ },
+ "source": [
+ "## Setup data directory\n",
+ "\n",
+ "You can specify a directory with the `MONAI_DATA_DIRECTORY` environment variable.\n",
+ "This allows you to save results and reuse downloads.\n",
+ "If not specified a temporary directory will be used."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "82KX1Sj6XXY1"
+ },
+ "outputs": [],
+ "source": [
+ "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n",
+ "root_dir = tempfile.mkdtemp() if directory is None else directory\n",
+ "print(root_dir)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "nkVQ-tojmzwf"
+ },
+ "source": [
+ "## Download dataset\n",
+ "\n",
+ "The MedNIST dataset was gathered from several sets from [TCIA](https://wiki.cancerimagingarchive.net/display/Public/Data+Usage+Policies+and+Restrictions),\n",
+ "[the RSNA Bone Age Challenge](http://rsnachallenges.cloudapp.net/competitions/4),\n",
+ "and [the NIH Chest X-ray dataset](https://cloud.google.com/healthcare/docs/resources/public-datasets/nih-chest).\n",
+ "\n",
+ "The dataset is kindly made available by [Dr. Bradley J. Erickson M.D., Ph.D.](https://www.mayo.edu/research/labs/radiology-informatics/overview) (Department of Radiology, Mayo Clinic)\n",
+ "under the Creative Commons [CC BY-SA 4.0 license](https://creativecommons.org/licenses/by-sa/4.0/).\n",
+ "\n",
+ "If you use the MedNIST dataset, please acknowledge the source."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "DAHybyvdXZoH"
+ },
+ "outputs": [],
+ "source": [
+ "resource = \"https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/MedNIST.tar.gz\"\n",
+ "md5 = \"0bc7306e7427e00ad1c5526a6677552d\"\n",
+ "\n",
+ "compressed_file = os.path.join(root_dir, \"MedNIST.tar.gz\")\n",
+ "data_dir = os.path.join(root_dir, \"MedNIST\")\n",
+ "if not os.path.exists(data_dir):\n",
+ " download_and_extract(resource, compressed_file, root_dir, md5)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "u6m2Uas1nMi8"
+ },
+ "source": [
+ "## Read image filenames from the dataset folders\n",
+ "\n",
+ "First of all, check the dataset files and show some statistics. \n",
+ "There are 6 folders in the dataset: Hand, AbdomenCT, CXR, ChestCT, BreastMRI, HeadCT, \n",
+ "which should be used as the labels to train our classification model."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "qtLr1T0gXydq"
+ },
+ "outputs": [],
+ "source": [
+ "class_names = sorted(x for x in os.listdir(data_dir) if os.path.isdir(os.path.join(data_dir, x)))\n",
+ "num_class = len(class_names)\n",
+ "image_files = [\n",
+ " [os.path.join(data_dir, class_names[i], x) for x in os.listdir(os.path.join(data_dir, class_names[i]))]\n",
+ " for i in range(num_class)\n",
+ "]\n",
+ "num_each = [len(image_files[i]) for i in range(num_class)]\n",
+ "image_files_list = []\n",
+ "image_class = []\n",
+ "for i in range(num_class):\n",
+ " image_files_list.extend(image_files[i])\n",
+ " image_class.extend([i] * num_each[i])\n",
+ "num_total = len(image_class)\n",
+ "image_width, image_height = PIL.Image.open(image_files_list[0]).size\n",
+ "\n",
+ "print(f\"Total image count: {num_total}\")\n",
+ "print(f\"Image dimensions: {image_width} x {image_height}\")\n",
+ "print(f\"Label names: {class_names}\")\n",
+ "print(f\"Label counts: {num_each}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "k4WOUb4IX6KK"
+ },
+ "outputs": [],
+ "source": [
+ "plt.subplots(3, 3, figsize=(8, 8))\n",
+ "for i, k in enumerate(np.random.randint(num_total, size=9)):\n",
+ " im = PIL.Image.open(image_files_list[k])\n",
+ " arr = np.array(im)\n",
+ " plt.subplot(3, 3, i + 1)\n",
+ " plt.xlabel(class_names[image_class[k]])\n",
+ " plt.imshow(arr, cmap=\"gray\", vmin=0, vmax=255)\n",
+ "plt.tight_layout()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "wOGja_mEnQ5m"
+ },
+ "source": [
+ "## Prepare training, validation and test data lists\n",
+ "\n",
+ "Randomly select 10% of the dataset as validation and 10% as test."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "BmHhKta1X8ZM"
+ },
+ "outputs": [],
+ "source": [
+ "val_frac = 0.1\n",
+ "test_frac = 0.1\n",
+ "length = len(image_files_list)\n",
+ "indices = np.arange(length)\n",
+ "np.random.shuffle(indices)\n",
+ "\n",
+ "test_split = int(test_frac * length)\n",
+ "val_split = int(val_frac * length) + test_split\n",
+ "test_indices = indices[:test_split]\n",
+ "val_indices = indices[test_split:val_split]\n",
+ "train_indices = indices[val_split:]\n",
+ "\n",
+ "train_x = [image_files_list[i] for i in train_indices]\n",
+ "train_y = [image_class[i] for i in train_indices]\n",
+ "val_x = [image_files_list[i] for i in val_indices]\n",
+ "val_y = [image_class[i] for i in val_indices]\n",
+ "test_x = [image_files_list[i] for i in test_indices]\n",
+ "test_y = [image_class[i] for i in test_indices]\n",
+ "\n",
+ "print(f\"Training count: {len(train_x)}, Validation count: \" f\"{len(val_x)}, Test count: {len(test_x)}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Lkhtr3p8nT1G"
+ },
+ "source": [
+ "## Define MONAI transforms, Dataset and Dataloader to pre-process data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "2b5H2WuUYLsc"
+ },
+ "outputs": [],
+ "source": [
+ "train_transforms = Compose(\n",
+ " [\n",
+ " LoadImage(image_only=True),\n",
+ " EnsureChannelFirst(),\n",
+ " ScaleIntensity(),\n",
+ " RandRotate(range_x=np.pi / 12, prob=0.5, keep_size=True),\n",
+ " RandFlip(spatial_axis=0, prob=0.5),\n",
+ " RandZoom(min_zoom=0.9, max_zoom=1.1, prob=0.5),\n",
+ " ]\n",
+ ")\n",
+ "\n",
+ "val_transforms = Compose([LoadImage(image_only=True), EnsureChannelFirst(), ScaleIntensity()])\n",
+ "\n",
+ "y_pred_trans = Compose([Activations(softmax=True)])\n",
+ "y_trans = Compose([AsDiscrete(to_onehot=num_class)])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "QdFnaFUDYOaq"
+ },
+ "outputs": [],
+ "source": [
+ "class MedNISTDataset(torch.utils.data.Dataset):\n",
+ " def __init__(self, image_files, labels, transforms):\n",
+ " self.image_files = image_files\n",
+ " self.labels = labels\n",
+ " self.transforms = transforms\n",
+ "\n",
+ " def __len__(self):\n",
+ " return len(self.image_files)\n",
+ "\n",
+ " def __getitem__(self, index):\n",
+ " return self.transforms(self.image_files[index]), self.labels[index]\n",
+ "\n",
+ "\n",
+ "train_ds = MedNISTDataset(train_x, train_y, train_transforms)\n",
+ "train_loader = DataLoader(train_ds, batch_size=config.batch_size, shuffle=True, num_workers=2)\n",
+ "\n",
+ "val_ds = MedNISTDataset(val_x, val_y, val_transforms)\n",
+ "val_loader = DataLoader(val_ds, batch_size=config.batch_size, num_workers=2)\n",
+ "\n",
+ "test_ds = MedNISTDataset(test_x, test_y, val_transforms)\n",
+ "test_loader = DataLoader(test_ds, batch_size=config.batch_size, num_workers=2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "FIhKqMrVnZV9"
+ },
+ "source": [
+ "We typically define a model in PyTorch using [`torch.nn.Module`s](https://pytorch.org/docs/stable/notes/modules.html) which act as the building blocks of stateful computation. Even though Keras supports PyTorch as a backend, it does not mean that we can nest torch modules inside a [`keras_core.Model`](https://keras.io/keras_core/api/models/), because trainable variables inside a Keras Model is tracked exclusively via [Keras Layers](https://keras.io/keras_core/api/layers/).\n",
+ "\n",
+ "KerasCore provides us with a feature called `TorchModuleWrapper` which enables us to do exactly this. The `TorchModuleWrapper` is a Keras Layer that accepts a torch module and tracks its trainable variables, essentially converting the torch module into a Keras Layer. This enables us to put any torch modules inside a Keras Model and train them with a single `model.fit()`!\n",
+ "\n",
+ "The idea of the `TorchModuleWrapper` was proposed by Keras' creator [François Chollet](https://github.com/fchollet) on [this issue thread](https://github.com/keras-team/keras-core/issues/604)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "7zbinqy4ZsEy"
+ },
+ "outputs": [],
+ "source": [
+ "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
+ "\n",
+ "inputs = keras.Input(shape=(1, 64, 64))\n",
+ "outputs = TorchModuleWrapper(\n",
+ " DenseNet121(\n",
+ " spatial_dims=2, in_channels=1, out_channels=num_class\n",
+ " )\n",
+ ")(inputs)\n",
+ "model = keras.Model(inputs, outputs)\n",
+ "\n",
+ "# model = MedMnistModel()\n",
+ "model(next(iter(train_loader))[0].to(device)).shape"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "opjBI87nneYU"
+ },
+ "source": [
+ "**Note:** It is actually possible to use torch modules inside a Keras Model without having to explicitly have them wrapped with the `TorchModuleWrapper` as evident by [this tweet](https://twitter.com/fchollet/status/1697381832164290754) from François Chollet. However, this doesn't seem to work at the point of time this example was created, as reported in [this issue](https://github.com/keras-team/keras-core/issues/834)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "y3H-cUKraRDh"
+ },
+ "outputs": [],
+ "source": [
+ "# Compile the model\n",
+ "model.compile(\n",
+ " loss=\"sparse_categorical_crossentropy\",\n",
+ " optimizer=keras.optimizers.Adam(1e-5),\n",
+ " metrics=[\"accuracy\"],\n",
+ ")\n",
+ "\n",
+ "# Define the backend-agnostic WandB callbacks for KerasCore\n",
+ "callbacks = [\n",
+ " # Track experiment metrics\n",
+ " WandbMetricsLogger(log_freq=\"batch\")\n",
+ "]\n",
+ "\n",
+ "# Train the model by calling model.fit\n",
+ "model.fit(\n",
+ " train_loader,\n",
+ " validation_data=val_loader,\n",
+ " epochs=config.num_epochs,\n",
+ " callbacks=callbacks,\n",
+ ")\n",
+ "\n",
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Q0E-kiGBeCnZ"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "gpuType": "V100",
+ "private_outputs": true,
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/colabs/keras/keras_core/timm_keras.ipynb b/colabs/keras/keras_core/timm_keras.ipynb
new file mode 100644
index 00000000..1cea4769
--- /dev/null
+++ b/colabs/keras/keras_core/timm_keras.ipynb
@@ -0,0 +1,377 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 🔥 Fine-tune a [Timm](https://huggingface.co/docs/timm/index) Model with Keras and WandB 🦄\n",
+ "\n",
+ "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/keras/keras_core/timm_keras.ipynb)\n",
+ "\n",
+ "This notebook demonstrates\n",
+ "- how we can fine-tune a pre-trained model from timm using [KerasCore](https://github.com/keras-team/keras-core).\n",
+ "- how we can use the backend-agnostic Keras callbacks for [Weights & Biases](https://wandb.ai/site) to manage and track our experiment."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Installing and Importing the Dependencies"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "- We install the `main` branch of [KerasCore](https://github.com/keras-team/keras-core), this lets us use the latest feature merged in KerasCore.\n",
+ "- We install [timm](https://huggingface.co/docs/timm/index), a library containing SOTA computer vision models, layers, utilities, optimizers, schedulers, data-loaders, augmentations, and training/evaluation scripts.\n",
+ "- We also install [wandb-addons](https://github.com/soumik12345/wandb-addons), a library that hosts the backend-agnostic callbacks compatible with KerasCore"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# install the `main` branch of KerasCore\n",
+ "!pip install -qq namex\n",
+ "!apt install python3.10-venv\n",
+ "!git clone https://github.com/soumik12345/keras-core.git && cd keras-core && python pip_build.py --install\n",
+ "\n",
+ "# install timm and wandb-addons\n",
+ "!pip install -qq git+https://github.com/soumik12345/wandb-addons"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We specify the Keras backend to be using `torch` by explicitly specifying the environment variable `KERAS_BACKEND`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "os.environ[\"KERAS_BACKEND\"] = \"torch\"\n",
+ "\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "import torch\n",
+ "import torch.nn as nn\n",
+ "import torch.nn.functional as F\n",
+ "\n",
+ "import timm\n",
+ "from timm.data import resolve_data_config\n",
+ "\n",
+ "import torchvision\n",
+ "from torchvision import datasets, models, transforms\n",
+ "from torchvision.transforms.functional import InterpolationMode\n",
+ "\n",
+ "import wandb\n",
+ "from wandb_addons.keras import WandbMetricsLogger, WandbModelCheckpoint"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We initialize a [wandb run](https://docs.wandb.ai/guides/runs) and set the configs for the experiment."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.init(project=\"keras-torch\")\n",
+ "\n",
+ "config = wandb.config\n",
+ "config.model_name = \"xception41\"\n",
+ "config.freeze_backbone = False\n",
+ "config.preprocess_config = resolve_data_config({}, model=config.model_name)\n",
+ "config.dropout_rate = 0.5\n",
+ "config.batch_size = 4\n",
+ "config.num_epochs = 25"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## A PyTorch-based Input Pipeline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We will be using the [ImageNette](https://github.com/fastai/imagenette) dataset for this experiment. Imagenette is a subset of 10 easily classified classes from [Imagenet](https://www.image-net.org/) (tench, English springer, cassette player, chain saw, church, French horn, garbage truck, gas pump, golf ball, parachute).\n",
+ "\n",
+ "First, let's download this dataset."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!wget https://s3.amazonaws.com/fast-ai-imageclas/imagenette2-320.tgz -P imagenette\n",
+ "!tar zxf imagenette/imagenette2-320.tgz -C imagenette\n",
+ "!gzip -d imagenette/imagenette2-320.tgz"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now, we create our standard torch-based data loading pipeline."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Define pre-processing and augmentation transforms for the train and validation sets\n",
+ "data_transforms = {\n",
+ " 'train': transforms.Compose([\n",
+ " transforms.RandomResizedCrop(\n",
+ " size=config.preprocess_config[\"input_size\"][1],\n",
+ " interpolation=InterpolationMode.BICUBIC,\n",
+ " ),\n",
+ " transforms.RandomHorizontalFlip(),\n",
+ " transforms.ToTensor(),\n",
+ " transforms.Normalize(\n",
+ " config.preprocess_config[\"mean\"],\n",
+ " config.preprocess_config[\"std\"]\n",
+ " )\n",
+ " ]),\n",
+ " 'val': transforms.Compose([\n",
+ " transforms.Resize(256),\n",
+ " transforms.CenterCrop(config.preprocess_config[\"input_size\"][1]),\n",
+ " transforms.ToTensor(),\n",
+ " transforms.Normalize(\n",
+ " config.preprocess_config[\"mean\"],\n",
+ " config.preprocess_config[\"std\"]\n",
+ " )\n",
+ " ]),\n",
+ "}\n",
+ "\n",
+ "# Define the train and validation datasets\n",
+ "data_dir = 'imagenette/imagenette2-320'\n",
+ "image_datasets = {\n",
+ " x: datasets.ImageFolder(\n",
+ " os.path.join(data_dir, x), data_transforms[x]\n",
+ " )\n",
+ " for x in ['train', 'val']\n",
+ "}\n",
+ "\n",
+ "# Define the torch dataloaders corresponding to the train and validation dataset\n",
+ "dataloaders = {\n",
+ " x: torch.utils.data.DataLoader(\n",
+ " image_datasets[x],\n",
+ " batch_size=config.batch_size,\n",
+ " shuffle=True,\n",
+ " num_workers=4\n",
+ " )\n",
+ " for x in ['train', 'val']\n",
+ "}\n",
+ "dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val']}\n",
+ "class_names = image_datasets['train'].classes\n",
+ "\n",
+ "# Specify the global device\n",
+ "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's take a look at a few of the samples."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def imshow(inp, title=None):\n",
+ " \"\"\"Display image for Tensor.\"\"\"\n",
+ " inp = inp.numpy().transpose((1, 2, 0))\n",
+ " mean = np.array(config.preprocess_config[\"mean\"])\n",
+ " std = np.array(config.preprocess_config[\"std\"])\n",
+ " inp = std * inp + mean\n",
+ " inp = np.clip(inp, 0, 1)\n",
+ " plt.imshow(inp)\n",
+ " if title is not None:\n",
+ " plt.title(title)\n",
+ " plt.pause(0.001)\n",
+ "\n",
+ "\n",
+ "# Get a batch of training data\n",
+ "inputs, classes = next(iter(dataloaders['train']))\n",
+ "print(inputs.shape, classes.shape)\n",
+ "\n",
+ "# Make a grid from batch\n",
+ "out = torchvision.utils.make_grid(inputs)\n",
+ "\n",
+ "imshow(out, title=[class_names[x] for x in classes])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Creating and Training our Classifier"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We typically define a model in PyTorch using [`torch.nn.Module`s](https://pytorch.org/docs/stable/notes/modules.html) which act as the building blocks of stateful computation. Even though Keras supports PyTorch as a backend, it does not mean that we can nest torch modules inside a [`keras_core.Model`](https://keras.io/keras_core/api/models/), because trainable variables inside a Keras Model is tracked exclusively via [Keras Layers](https://keras.io/keras_core/api/layers/).\n",
+ "\n",
+ "KerasCore provides us with a feature called `TorchModuleWrapper` which enables us to do exactly this. The `TorchModuleWrapper` is a Keras Layer that accepts a torch module and tracks its trainable variables, essentially converting the torch module into a Keras Layer. This enables us to put any torch modules inside a Keras Model and train them with a single `model.fit()`!\n",
+ "\n",
+ "The idea of the `TorchModuleWrapper` was proposed by Keras' creator [François Chollet](https://github.com/fchollet) on [this issue thread](https://github.com/keras-team/keras-core/issues/604)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import keras_core as keras\n",
+ "from keras_core.utils import TorchModuleWrapper\n",
+ "\n",
+ "\n",
+ "class TimmClassifier(keras.Model):\n",
+ "\n",
+ " def __init__(self, model_name, freeze_backbone, dropout_rate, num_classes, *args, **kwargs):\n",
+ " super().__init__(*args, **kwargs)\n",
+ " \n",
+ " # Define the pre-trained module from timm\n",
+ " self.backbone = TorchModuleWrapper(\n",
+ " timm.create_model(model_name, pretrained=True)\n",
+ " )\n",
+ " self.backbone.trainable = not freeze_backbone\n",
+ " \n",
+ " # Build the classification head using keras layers\n",
+ " self.global_average_pooling = keras.layers.GlobalAveragePooling2D()\n",
+ " self.dropout = keras.layers.Dropout(dropout_rate)\n",
+ " self.classification_head = keras.layers.Dense(num_classes)\n",
+ "\n",
+ " def call(self, inputs):\n",
+ " # We get the unpooled features from the timm backbone by calling `forward_features`\n",
+ " # on the torch module corresponding to the backbone.\n",
+ " x = self.backbone.module.forward_features(inputs)\n",
+ " x = self.global_average_pooling(x)\n",
+ " x = self.dropout(x)\n",
+ " x = self.classification_head(x)\n",
+ " return keras.activations.softmax(x, axis=1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Note:** It is actually possible to use torch modules inside a Keras Model without having to explicitly have them wrapped with the `TorchModuleWrapper` as evident by [this tweet](https://twitter.com/fchollet/status/1697381832164290754) from François Chollet. However, this doesn't seem to work at the point of time this example was created, as reported in [this issue](https://github.com/keras-team/keras-core/issues/834)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Now, we define the model and pass a random tensor to check the output shape\n",
+ "model = TimmClassifier(\n",
+ " model_name=config.model_name,\n",
+ " freeze_backbone=config.freeze_backbone,\n",
+ " dropout_rate=config.dropout_rate,\n",
+ " num_classes=len(class_names)\n",
+ ")\n",
+ "model(torch.ones(1, *config.preprocess_config[\"input_size\"]).to(device)).shape"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now, in standard Keras fashion, all we need to do is compile the model and call `model.fit()`!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Create exponential decay learning rate scheduler\n",
+ "decay_steps = config.num_epochs * len(dataloaders[\"train\"]) // config.batch_size\n",
+ "lr_scheduler = keras.optimizers.schedules.ExponentialDecay(\n",
+ " initial_learning_rate=1e-3, decay_steps=decay_steps, decay_rate=0.1,\n",
+ ")\n",
+ "\n",
+ "# Compile the model\n",
+ "model.compile(\n",
+ " loss=\"sparse_categorical_crossentropy\",\n",
+ " optimizer=keras.optimizers.Adam(lr_scheduler),\n",
+ " metrics=[\"accuracy\"],\n",
+ ")\n",
+ "\n",
+ "# Define the backend-agnostic WandB callbacks for KerasCore\n",
+ "callbacks = [\n",
+ " # Track experiment metrics\n",
+ " WandbMetricsLogger(log_freq=\"batch\"),\n",
+ " # Track and version model checkpoints\n",
+ " WandbModelCheckpoint(\"model.keras\")\n",
+ "]\n",
+ "\n",
+ "# Train the model by calling model.fit\n",
+ "model.fit(\n",
+ " dataloaders[\"train\"],\n",
+ " validation_data=dataloaders[\"val\"],\n",
+ " epochs=config.num_epochs,\n",
+ " callbacks=callbacks,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In order to know more about the backend-agnostic Keras callbacks for Weights & Biases, check out the [docs for wandb-addons](https://geekyrakshit.dev/wandb-addons/keras/keras_core/)."
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ },
+ "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/colabs/keras/keras_core/torchvision-keras.ipynb b/colabs/keras/keras_core/torchvision-keras.ipynb
new file mode 100644
index 00000000..30783184
--- /dev/null
+++ b/colabs/keras/keras_core/torchvision-keras.ipynb
@@ -0,0 +1,922 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "jLRorPqA1-h4"
+ },
+ "source": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# 🔥 Fine-tune a TorchVision Model with Keras and WandB 🦄\n",
+ "\n",
+ "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/keras/keras_core/torchvision_keras.ipynb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "aEl-j2hq2w25"
+ },
+ "source": [
+ "## Introduction\n",
+ "\n",
+ "[TorchVision](https://pytorch.org/vision/stable/index.html) is a library part of the [PyTorch](http://pytorch.org/) project that consists of popular datasets, model architectures, and common image transformations for computer vision. This example demonstrates how we can perform transfer learning for image classification using a pre-trained backbone model from TorchVision on the [Imagenette dataset](https://github.com/fastai/imagenette) using KerasCore. We will also demonstrate the compatibility of KerasCore with an input system consisting of [Torch Datasets and Dataloaders](https://pytorch.org/tutorials/beginner/basics/data_tutorial.html).\n",
+ "\n",
+ "### References:\n",
+ "\n",
+ "- [Customizing what happens in `fit()` with PyTorch](https://keras.io/keras_core/guides/custom_train_step_in_torch/)\n",
+ "- [PyTorch Datasets and Dataloaders](https://pytorch.org/tutorials/beginner/basics/data_tutorial.html)\n",
+ "- [Transfer learning for Computer Vision using PyTorch](https://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html)\n",
+ "\n",
+ "## Setup\n",
+ "\n",
+ "- We install the `main` branch of [KerasCore](https://github.com/keras-team/keras-core), this lets us use the latest feature merged in KerasCore.\n",
+ "- We also install [wandb-addons](https://github.com/soumik12345/wandb-addons), a library that hosts the backend-agnostic callbacks compatible with KerasCore"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "r4rfNRPgiy9v",
+ "outputId": "ce5ba027-567a-4577-a638-ca8802ee1f84"
+ },
+ "outputs": [],
+ "source": [
+ "# install the `main` branch of KerasCore\n",
+ "!pip install -qq namex\n",
+ "!apt install python3.10-venv\n",
+ "!git clone https://github.com/soumik12345/keras-core.git && cd keras-core && python pip_build.py --install\n",
+ "\n",
+ "# install wandb-addons\n",
+ "!pip install -qq git+https://github.com/soumik12345/wandb-addons"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "7nudAUt8jHRB"
+ },
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "os.environ[\"KERAS_BACKEND\"] = \"torch\"\n",
+ "\n",
+ "import numpy as np\n",
+ "from tqdm.auto import tqdm\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "import torch\n",
+ "import torch.nn as nn\n",
+ "import torch.nn.functional as F\n",
+ "\n",
+ "import torchvision\n",
+ "from torchvision import datasets, models, transforms\n",
+ "\n",
+ "import keras_core as keras\n",
+ "from keras_core.utils import TorchModuleWrapper\n",
+ "\n",
+ "import wandb\n",
+ "from wandb_addons.keras import WandbMetricsLogger, WandbModelCheckpoint"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "pS1c-ySo7nty"
+ },
+ "source": [
+ "## Define the Hyperparameters"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "2ovtXSUA7ksk",
+ "outputId": "725bef1a-0e68-473e-8c24-1f1ffd28506c"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.init(project=\"keras-torch\", entity=\"ml-colabs\", job_type=\"torchvision/train\")\n",
+ "\n",
+ "config = wandb.config\n",
+ "config.batch_size = 32\n",
+ "config.image_size = 224\n",
+ "config.freeze_backbone = True\n",
+ "config.initial_learning_rate = 1e-3\n",
+ "config.num_epochs = 5"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "b5uU_Q_H74GO"
+ },
+ "source": [
+ "## Creating the Torch Datasets and Dataloaders\n",
+ "\n",
+ "In this example, we would train an image classification model on the [Imagenette dataset](https://github.com/fastai/imagenette). Imagenette is a subset of 10 easily classified classes from [Imagenet](https://www.image-net.org/) (tench, English springer, cassette player, chain saw, church, French horn, garbage truck, gas pump, golf ball, parachute)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "gWV2hNGo8vW7",
+ "outputId": "cc70b598-fc66-480a-a98c-7077fa634a22"
+ },
+ "outputs": [],
+ "source": [
+ "# Fetch the imagenette dataset\n",
+ "data_dir = keras.utils.get_file(\n",
+ " fname=\"imagenette2-320.tgz\",\n",
+ " origin=\"https://s3.amazonaws.com/fast-ai-imageclas/imagenette2-320.tgz\",\n",
+ " extract=True,\n",
+ ")\n",
+ "data_dir = data_dir.replace(\".tgz\", \"\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Ka7TDUMn9IcG"
+ },
+ "source": [
+ "Next, we define pre-processing and augmentation transforms from TorchVision for the train and validation sets."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "rFZKJafF9H6y"
+ },
+ "outputs": [],
+ "source": [
+ "data_transforms = {\n",
+ " 'train': transforms.Compose([\n",
+ " transforms.RandomResizedCrop(config.image_size),\n",
+ " transforms.RandomHorizontalFlip(),\n",
+ " transforms.ToTensor(),\n",
+ " transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
+ " ]),\n",
+ " 'val': transforms.Compose([\n",
+ " transforms.Resize(256),\n",
+ " transforms.CenterCrop(config.image_size),\n",
+ " transforms.ToTensor(),\n",
+ " transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
+ " ]),\n",
+ "}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "aE3VFQHm9srl"
+ },
+ "source": [
+ "Finally, we will use TorchVision and the [`torch.utils.data`](https://pytorch.org/docs/stable/data.html) packages for creating the dataloaders for trainig and validation."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "0N81UNjtjMZ4",
+ "outputId": "bfb2af1a-977c-4408-cb1c-8da78d03d13d"
+ },
+ "outputs": [],
+ "source": [
+ "# Define the train and validation datasets\n",
+ "image_datasets = {\n",
+ " x: datasets.ImageFolder(\n",
+ " os.path.join(data_dir, x), data_transforms[x]\n",
+ " )\n",
+ " for x in ['train', 'val']\n",
+ "}\n",
+ "\n",
+ "# Define the torch dataloaders corresponding to the\n",
+ "# train and validation dataset\n",
+ "dataloaders = {\n",
+ " x: torch.utils.data.DataLoader(\n",
+ " image_datasets[x],\n",
+ " batch_size=config.batch_size,\n",
+ " shuffle=True,\n",
+ " num_workers=4\n",
+ " )\n",
+ " for x in ['train', 'val']\n",
+ "}\n",
+ "dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val']}\n",
+ "class_names = image_datasets['train'].classes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "AY6kOIL--EdP"
+ },
+ "source": [
+ "Let us visualize a few samples from the training dataloader."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 829
+ },
+ "id": "yffdD4LxjOQG",
+ "outputId": "38e6f182-11b1-4830-e5ec-a5588c7bdbf9"
+ },
+ "outputs": [],
+ "source": [
+ "plt.figure(figsize=(10, 10))\n",
+ "sample_images, sample_labels = next(iter(dataloaders['train']))\n",
+ "sample_images = sample_images.numpy()\n",
+ "sample_labels = sample_labels.numpy()\n",
+ "for idx in range(9):\n",
+ " ax = plt.subplot(3, 3, idx + 1)\n",
+ " image = sample_images[idx].transpose((1, 2, 0))\n",
+ " mean = np.array([0.485, 0.456, 0.406])\n",
+ " std = np.array([0.229, 0.224, 0.225])\n",
+ " image = std * image + mean\n",
+ " image = np.clip(image, 0, 1)\n",
+ " plt.imshow(image)\n",
+ " plt.title(\"Ground Truth Label: \" + class_names[int(sample_labels[idx])])\n",
+ " plt.axis(\"off\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "0zvfzD04-ce9"
+ },
+ "source": [
+ "## The Image Classification Model"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "ZBLzXVwk-mLP"
+ },
+ "source": [
+ "We typically define a model in PyTorch using [`torch.nn.Module`s](https://pytorch.org/docs/stable/notes/modules.html) which act as the building blocks of stateful computation. Let us define the ResNet18 model from the TorchVision package as a `torch.nn.Module` pre-trained on the [Imagenet1K dataset](https://huggingface.co/datasets/imagenet-1k)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "tOGUiI9K_BRk",
+ "outputId": "97aa387c-7b3d-41cf-959b-de60eb572912"
+ },
+ "outputs": [],
+ "source": [
+ "# Define the pre-trained resnet18 module from TorchVision\n",
+ "resnet_18 = models.resnet18(weights='IMAGENET1K_V1')\n",
+ "\n",
+ "# We set the classification head of the pre-trained ResNet18\n",
+ "# module to an identity module\n",
+ "resnet_18.fc = nn.Identity()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "afxbMwcYF-Yz"
+ },
+ "source": [
+ "ven though Keras supports PyTorch as a backend, it does not mean that we can nest torch modules inside a [`keras_core.Model`](https://keras.io/keras_core/api/models/), because trainable variables inside a Keras Model is tracked exclusively via [Keras Layers](https://keras.io/keras_core/api/layers/).\n",
+ "\n",
+ "KerasCore provides us with a feature called `TorchModuleWrapper` which enables us to do exactly this. The `TorchModuleWrapper` is a Keras Layer that accepts a torch module and tracks its trainable variables, essentially converting the torch module into a Keras Layer. This enables us to put any torch modules inside a Keras Model and train them with a single `model.fit()`!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "JLuCIAy5F6L1"
+ },
+ "outputs": [],
+ "source": [
+ "# We set the trainable ResNet18 backbone to be a Keras Layer\n",
+ "# using `TorchModuleWrapper`\n",
+ "backbone = TorchModuleWrapper(resnet_18)\n",
+ "\n",
+ "# We set this to `False` if you want to freeze the backbone\n",
+ "backbone.trainable = config.freeze_backbone"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "7y28txoVHHk8"
+ },
+ "source": [
+ "Now, we will build a Keras functional model with the backbone layer."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 314
+ },
+ "id": "l2rxqA8vjR3W",
+ "outputId": "206ad321-5fb5-41e1-a391-37cef3b10edb"
+ },
+ "outputs": [],
+ "source": [
+ "inputs = keras.Input(shape=(3, config.image_size, config.image_size))\n",
+ "x = backbone(inputs)\n",
+ "x = keras.layers.Dropout(0.5)(x)\n",
+ "x = keras.layers.Dense(len(class_names))(x)\n",
+ "outputs = keras.activations.softmax(x, axis=1)\n",
+ "model = keras.Model(inputs, outputs, name=\"ResNet18_Classifier\")\n",
+ "\n",
+ "model.summary()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "BXbvYzDnjyDQ",
+ "outputId": "9d7e51b2-85e7-4717-993b-0f6efac2999d"
+ },
+ "outputs": [],
+ "source": [
+ "# Create exponential decay learning rate scheduler\n",
+ "decay_steps = config.num_epochs * len(dataloaders[\"train\"]) // config.batch_size\n",
+ "lr_scheduler = keras.optimizers.schedules.ExponentialDecay(\n",
+ " initial_learning_rate=config.initial_learning_rate,\n",
+ " decay_steps=decay_steps,\n",
+ " decay_rate=0.1,\n",
+ ")\n",
+ "\n",
+ "# Compile the model\n",
+ "model.compile(\n",
+ " loss=\"sparse_categorical_crossentropy\",\n",
+ " optimizer=keras.optimizers.Adam(lr_scheduler),\n",
+ " metrics=[\"accuracy\"],\n",
+ ")\n",
+ "\n",
+ "# Define the backend-agnostic WandB callbacks for KerasCore\n",
+ "callbacks = [\n",
+ " # Track experiment metrics with WandB\n",
+ " WandbMetricsLogger(log_freq=\"batch\"),\n",
+ " # Save best model checkpoints to WandB\n",
+ " WandbModelCheckpoint(\n",
+ " filepath=\"model.weights.h5\",\n",
+ " monitor=\"val_loss\",\n",
+ " save_best_only=True,\n",
+ " save_weights_only=True,\n",
+ " )\n",
+ "]\n",
+ "\n",
+ "# Train the model by calling model.fit\n",
+ "history = model.fit(\n",
+ " dataloaders[\"train\"],\n",
+ " validation_data=dataloaders[\"val\"],\n",
+ " epochs=config.num_epochs,\n",
+ " callbacks=callbacks,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "upJf2M92JBlD",
+ "outputId": "6993ffbe-2b69-4ff8-9a2f-9c502ca1414d"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "I58qvNnzJmHD"
+ },
+ "source": [
+ "## Evaluation and Inference\n",
+ "\n",
+ "Now, we let us load the best model weights checkpoint and evaluate the model."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "cNpfuELqnDI_",
+ "outputId": "18bfe7bb-adea-4ac2-807b-924dce6fbcc8"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.init(\n",
+ " project=\"keras-torch\", entity=\"ml-colabs\", job_type=\"torchvision/eval\"\n",
+ ")\n",
+ "artifact = wandb.use_artifact(\n",
+ " 'ml-colabs/keras-torch/run_hiceci7f_model:latest', type='model'\n",
+ ")\n",
+ "artifact_dir = artifact.download()\n",
+ "\n",
+ "model.load_weights(os.path.join(artifact_dir, \"model.weights.h5\"))\n",
+ "\n",
+ "_, val_accuracy = model.evaluate(dataloaders[\"val\"])\n",
+ "wandb.log({\"Validation-Accuracy\": val_accuracy})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "vE2vAvBNKAI9"
+ },
+ "source": [
+ "Finally, let us visualize the some predictions of the model"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 49,
+ "referenced_widgets": [
+ "1b82953b5f134926ae8a11c4fedca385",
+ "639fec0083134ab18b6a22999203536e",
+ "5d85942dc6e44640aed593b7a8494493",
+ "757ca7f811ec4db5a4dd517c5aec2bb8",
+ "122edd2a0300448cac1fcc8645fd8708",
+ "b1df464c3a2d47dbb49b36fa5d9912bb",
+ "dd95b1ba48ec4bc5b494f319ad41eedf",
+ "84dfa1f6d6f04c50b87e8683a0abdf55",
+ "634e163cb1354824a764dc49f7d9f2fa",
+ "5b1e8c0d14d84e0f923a997727794c89",
+ "2e912ebb924c4269a07fb7c1204eb923"
+ ]
+ },
+ "id": "ugrP307SpxMj",
+ "outputId": "ead193f0-bfd9-4bbc-c675-d741d64fd70f"
+ },
+ "outputs": [],
+ "source": [
+ "table = wandb.Table(\n",
+ " columns=[\n",
+ " \"Image\", \"Ground-Truth\", \"Prediction\"\n",
+ " ] + [\"Confidence-\" + cls for cls in class_names]\n",
+ ")\n",
+ "\n",
+ "sample_images, sample_labels = next(iter(dataloaders['train']))\n",
+ "\n",
+ "# We perform inference and detach the predicted probabilities from the Torch\n",
+ "# computation graph with a tensor that does not require gradient computation.\n",
+ "sample_pred_probas = model(sample_images.to(\"cuda\")).detach()\n",
+ "sample_pred_logits = keras.ops.argmax(sample_pred_probas, axis=1)\n",
+ "sample_pred_logits = sample_pred_logits.to(\"cpu\").numpy()\n",
+ "sample_pred_probas = sample_pred_probas.to(\"cpu\").numpy()\n",
+ "\n",
+ "sample_images = sample_images.numpy()\n",
+ "sample_labels = sample_labels.numpy()\n",
+ "\n",
+ "for idx in tqdm(range(sample_images.shape[0])):\n",
+ " image = sample_images[idx].transpose((1, 2, 0))\n",
+ " mean = np.array([0.485, 0.456, 0.406])\n",
+ " std = np.array([0.229, 0.224, 0.225])\n",
+ " image = std * image + mean\n",
+ " image = np.clip(image, 0, 1)\n",
+ " table.add_data(\n",
+ " wandb.Image(image),\n",
+ " class_names[int(sample_labels[idx])],\n",
+ " class_names[int(sample_pred_logits[idx])],\n",
+ " *sample_pred_probas[idx].tolist(),\n",
+ " )\n",
+ "\n",
+ "wandb.log({\"Evaluation-Table\": table})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "a90XmoRR65SJ",
+ "outputId": "88e5b0b1-a3db-4366-ba71-f6a21a877676"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "QA6ytgUaSxsS"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "gpuType": "T4",
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ },
+ "language_info": {
+ "name": "python"
+ },
+ "widgets": {
+ "application/vnd.jupyter.widget-state+json": {
+ "122edd2a0300448cac1fcc8645fd8708": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "1b82953b5f134926ae8a11c4fedca385": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_639fec0083134ab18b6a22999203536e",
+ "IPY_MODEL_5d85942dc6e44640aed593b7a8494493",
+ "IPY_MODEL_757ca7f811ec4db5a4dd517c5aec2bb8"
+ ],
+ "layout": "IPY_MODEL_122edd2a0300448cac1fcc8645fd8708"
+ }
+ },
+ "2e912ebb924c4269a07fb7c1204eb923": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "5b1e8c0d14d84e0f923a997727794c89": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5d85942dc6e44640aed593b7a8494493": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_84dfa1f6d6f04c50b87e8683a0abdf55",
+ "max": 32,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_634e163cb1354824a764dc49f7d9f2fa",
+ "value": 32
+ }
+ },
+ "634e163cb1354824a764dc49f7d9f2fa": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "639fec0083134ab18b6a22999203536e": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_b1df464c3a2d47dbb49b36fa5d9912bb",
+ "placeholder": "",
+ "style": "IPY_MODEL_dd95b1ba48ec4bc5b494f319ad41eedf",
+ "value": "100%"
+ }
+ },
+ "757ca7f811ec4db5a4dd517c5aec2bb8": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_5b1e8c0d14d84e0f923a997727794c89",
+ "placeholder": "",
+ "style": "IPY_MODEL_2e912ebb924c4269a07fb7c1204eb923",
+ "value": " 32/32 [00:01<00:00, 17.84it/s]"
+ }
+ },
+ "84dfa1f6d6f04c50b87e8683a0abdf55": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "b1df464c3a2d47dbb49b36fa5d9912bb": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "dd95b1ba48ec4bc5b494f319ad41eedf": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ }
+ }
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/colabs/keras/keras_nsynth_instrument_prediction.ipynb b/colabs/keras/keras_nsynth_instrument_prediction.ipynb
index a7bcc152..6a4ec1f8 100644
--- a/colabs/keras/keras_nsynth_instrument_prediction.ipynb
+++ b/colabs/keras/keras_nsynth_instrument_prediction.ipynb
@@ -649,13 +649,6 @@
"source": [
"run.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/monai/3d_brain_tumor_segmentation.ipynb b/colabs/monai/3d_brain_tumor_segmentation.ipynb
new file mode 100644
index 00000000..7eba44b6
--- /dev/null
+++ b/colabs/monai/3d_brain_tumor_segmentation.ipynb
@@ -0,0 +1,986 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Brain tumor 3D segmentation with MONAI and Weights & Biases\n",
+ "\n",
+ "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/wandb/examples/blob/main/colabs/monai/3d_brain_tumor_segmentation.ipynb)\n",
+ "\n",
+ "This tutorial shows how to construct a training workflow of multi-labels 3D brain tumor segmentation task using [MONAI](https://github.com/Project-MONAI/MONAI) and use experiment tracking and data visualization features of [Weights & Biases](https://wandb.ai/site). The tutorial contains the following features:\n",
+ "\n",
+ "1. Initialize a Weights & Biases run and synchrozize all configs associated with the run for reproducibility.\n",
+ "2. MONAI transform API:\n",
+ " 1. MONAI Transforms for dictionary format data.\n",
+ " 2. How to define a new transform according to MONAI `transforms` API.\n",
+ " 3. How to randomly adjust intensity for data augmentation.\n",
+ "3. Data Loading and Visualization:\n",
+ " 1. Load Nifti image with metadata, load a list of images and stack them.\n",
+ " 2. Cache IO and transforms to accelerate training and validation.\n",
+ " 3. Visualize the data using `wandb.Table` and interactive segmentation overlay on Weights & Biases.\n",
+ "4. Training a 3D `SegResNet` model\n",
+ " 1. Using the `networks`, `losses`, and `metrics` APIs from MONAI.\n",
+ " 2. Training the 3D `SegResNet` model using a PyTorch training loop.\n",
+ " 3. Track the training experiment using Weights & Biases.\n",
+ " 4. Log and version model checkpoints as model artifacts on Weights & Biases.\n",
+ "5. Visualize and compare the predictions on the validation dataset using `wandb.Table` and interactive segmentation overlay on Weights & Biases."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 🌴 Setup and Installation\n",
+ "\n",
+ "First, let us install the latest version of both MONAI and Weights and Biases."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!python -c \"import monai\" || pip install -q -U \"monai[nibabel, tqdm]\"\n",
+ "!python -c \"import wandb\" || pip install -q -U wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "\n",
+ "import numpy as np\n",
+ "from tqdm.auto import tqdm\n",
+ "import wandb\n",
+ "\n",
+ "from monai.apps import DecathlonDataset\n",
+ "from monai.data import DataLoader, decollate_batch\n",
+ "from monai.losses import DiceLoss\n",
+ "from monai.config import print_config\n",
+ "from monai.inferers import sliding_window_inference\n",
+ "from monai.metrics import DiceMetric\n",
+ "from monai.networks.nets import SegResNet\n",
+ "from monai.transforms import (\n",
+ " Activations,\n",
+ " AsDiscrete,\n",
+ " Compose,\n",
+ " LoadImaged,\n",
+ " MapTransform,\n",
+ " NormalizeIntensityd,\n",
+ " Orientationd,\n",
+ " RandFlipd,\n",
+ " RandScaleIntensityd,\n",
+ " RandShiftIntensityd,\n",
+ " RandSpatialCropd,\n",
+ " Spacingd,\n",
+ " EnsureTyped,\n",
+ " EnsureChannelFirstd,\n",
+ ")\n",
+ "from monai.utils import set_determinism\n",
+ "\n",
+ "import torch\n",
+ "\n",
+ "print_config()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We will then authenticate this colab instance to use W&B."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 🌳 Initialize a W&B Run\n",
+ "\n",
+ "We will start a new W&B run to start tracking our experiment."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.init(project=\"monai-brain-tumor-segmentation\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Use of proper config system is a recommended best practice for reproducible machine learning. We can track the hyperparameters for every experiment using W&B."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "config = wandb.config\n",
+ "config.seed = 0\n",
+ "config.roi_size = [224, 224, 144]\n",
+ "config.batch_size = 1\n",
+ "config.num_workers = 4\n",
+ "config.max_train_images_visualized = 20\n",
+ "config.max_val_images_visualized = 20\n",
+ "config.dice_loss_smoothen_numerator = 0\n",
+ "config.dice_loss_smoothen_denominator = 1e-5\n",
+ "config.dice_loss_squared_prediction = True\n",
+ "config.dice_loss_target_onehot = False\n",
+ "config.dice_loss_apply_sigmoid = True\n",
+ "config.initial_learning_rate = 1e-4\n",
+ "config.weight_decay = 1e-5\n",
+ "config.max_train_epochs = 50\n",
+ "config.validation_intervals = 1\n",
+ "config.dataset_dir = \"./dataset/\"\n",
+ "config.checkpoint_dir = \"./checkpoints\"\n",
+ "config.inference_roi_size = (128, 128, 64)\n",
+ "config.max_prediction_images_visualized = 20"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We would also need to set the random seed for modules to enable or disable deterministic training."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "set_determinism(seed=config.seed)\n",
+ "\n",
+ "# Create directories\n",
+ "os.makedirs(config.dataset_dir, exist_ok=True)\n",
+ "os.makedirs(config.checkpoint_dir, exist_ok=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 💿 Data Loading and Transformation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Here we use the `monai.transforms` API to create a custom transform that converts the multi-classes labels into multi-labels segmentation task in one-hot format."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "class ConvertToMultiChannelBasedOnBratsClassesd(MapTransform):\n",
+ " \"\"\"\n",
+ " Convert labels to multi channels based on brats classes:\n",
+ " label 1 is the peritumoral edema\n",
+ " label 2 is the GD-enhancing tumor\n",
+ " label 3 is the necrotic and non-enhancing tumor core\n",
+ " The possible classes are TC (Tumor core), WT (Whole tumor)\n",
+ " and ET (Enhancing tumor).\n",
+ "\n",
+ " Reference: https://github.com/Project-MONAI/tutorials/blob/main/3d_segmentation/brats_segmentation_3d.ipynb\n",
+ "\n",
+ " \"\"\"\n",
+ "\n",
+ " def __call__(self, data):\n",
+ " d = dict(data)\n",
+ " for key in self.keys:\n",
+ " result = []\n",
+ " # merge label 2 and label 3 to construct TC\n",
+ " result.append(torch.logical_or(d[key] == 2, d[key] == 3))\n",
+ " # merge labels 1, 2 and 3 to construct WT\n",
+ " result.append(\n",
+ " torch.logical_or(\n",
+ " torch.logical_or(d[key] == 2, d[key] == 3), d[key] == 1\n",
+ " )\n",
+ " )\n",
+ " # label 2 is ET\n",
+ " result.append(d[key] == 2)\n",
+ " d[key] = torch.stack(result, axis=0).float()\n",
+ " return d"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Next, we set up transforms for training and validation datasets respectively."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train_transform = Compose(\n",
+ " [\n",
+ " # load 4 Nifti images and stack them together\n",
+ " LoadImaged(keys=[\"image\", \"label\"]),\n",
+ " EnsureChannelFirstd(keys=\"image\"),\n",
+ " EnsureTyped(keys=[\"image\", \"label\"]),\n",
+ " ConvertToMultiChannelBasedOnBratsClassesd(keys=\"label\"),\n",
+ " Orientationd(keys=[\"image\", \"label\"], axcodes=\"RAS\"),\n",
+ " Spacingd(\n",
+ " keys=[\"image\", \"label\"],\n",
+ " pixdim=(1.0, 1.0, 1.0),\n",
+ " mode=(\"bilinear\", \"nearest\"),\n",
+ " ),\n",
+ " RandSpatialCropd(\n",
+ " keys=[\"image\", \"label\"], roi_size=config.roi_size, random_size=False\n",
+ " ),\n",
+ " RandFlipd(keys=[\"image\", \"label\"], prob=0.5, spatial_axis=0),\n",
+ " RandFlipd(keys=[\"image\", \"label\"], prob=0.5, spatial_axis=1),\n",
+ " RandFlipd(keys=[\"image\", \"label\"], prob=0.5, spatial_axis=2),\n",
+ " NormalizeIntensityd(keys=\"image\", nonzero=True, channel_wise=True),\n",
+ " RandScaleIntensityd(keys=\"image\", factors=0.1, prob=1.0),\n",
+ " RandShiftIntensityd(keys=\"image\", offsets=0.1, prob=1.0),\n",
+ " ]\n",
+ ")\n",
+ "val_transform = Compose(\n",
+ " [\n",
+ " LoadImaged(keys=[\"image\", \"label\"]),\n",
+ " EnsureChannelFirstd(keys=\"image\"),\n",
+ " EnsureTyped(keys=[\"image\", \"label\"]),\n",
+ " ConvertToMultiChannelBasedOnBratsClassesd(keys=\"label\"),\n",
+ " Orientationd(keys=[\"image\", \"label\"], axcodes=\"RAS\"),\n",
+ " Spacingd(\n",
+ " keys=[\"image\", \"label\"],\n",
+ " pixdim=(1.0, 1.0, 1.0),\n",
+ " mode=(\"bilinear\", \"nearest\"),\n",
+ " ),\n",
+ " NormalizeIntensityd(keys=\"image\", nonzero=True, channel_wise=True),\n",
+ " ]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 🍁 The Dataset\n",
+ "\n",
+ "The dataset that we will use for this experiment comes from http://medicaldecathlon.com/. We will use Multimodal multisite MRI data (FLAIR, T1w, T1gd, T2w) to segment Gliomas, necrotic/active tumour, and oedema. The dataset consists of 750 4D volumes (484 Training + 266 Testing).\n",
+ "\n",
+ "We will use the `DecathlonDataset` to automatically download and extract the dataset. It inherits MONAI `CacheDataset` which enables us to set `cache_num=N` to cache `N` items for training and use the default args to cache all the items for validation, depending on your memory size."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train_dataset = DecathlonDataset(\n",
+ " root_dir=config.dataset_dir,\n",
+ " task=\"Task01_BrainTumour\",\n",
+ " transform=val_transform,\n",
+ " section=\"training\",\n",
+ " download=True,\n",
+ " cache_rate=0.0,\n",
+ " num_workers=4,\n",
+ ")\n",
+ "val_dataset = DecathlonDataset(\n",
+ " root_dir=config.dataset_dir,\n",
+ " task=\"Task01_BrainTumour\",\n",
+ " transform=val_transform,\n",
+ " section=\"validation\",\n",
+ " download=False,\n",
+ " cache_rate=0.0,\n",
+ " num_workers=4,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Note:** Instead of applying the `train_transform` to the `train_dataset`, we have applied `val_transform` to both the training and validation datasets. This is because, before training, we would be visualizing samples from both the splits of the dataset."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 📸 Visualizing the Dataset"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Weights & Biases supports images, video, audio, and more. Log rich media to explore our results and visually compare our runs, models, and datasets. We would be using the [segmentation mask overlay system](https://docs.wandb.ai/guides/track/log/media#image-overlays-in-tables) to visualize our data volumes. To log segmentation masks in [tables](https://docs.wandb.ai/guides/tables), we will need to provide a `wandb.Image`` object for each row in the table.\n",
+ "\n",
+ "An example is provided in the Code snippet below:\n",
+ "\n",
+ "```python\n",
+ "table = wandb.Table(columns=[\"ID\", \"Image\"])\n",
+ "\n",
+ "for id, img, label in zip(ids, images, labels):\n",
+ " mask_img = wandb.Image(\n",
+ " img,\n",
+ " masks={\n",
+ " \"prediction\": {\"mask_data\": label, \"class_labels\": class_labels}\n",
+ " # ...\n",
+ " },\n",
+ " )\n",
+ "\n",
+ " table.add_data(id, img)\n",
+ "\n",
+ "wandb.log({\"Table\": table})\n",
+ "```\n",
+ "\n",
+ "Let us now write a simple utility function that takes a sample image, label, `wandb.Table` object and some associated metadata and populate the rows of a table that would be logged to our Weights & Biases dashboard."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def log_data_samples_into_tables(\n",
+ " sample_image: np.array,\n",
+ " sample_label: np.array,\n",
+ " split: str = None,\n",
+ " data_idx: int = None,\n",
+ " table: wandb.Table = None,\n",
+ "):\n",
+ " num_channels, _, _, num_slices = sample_image.shape\n",
+ " with tqdm(total=num_slices, leave=False) as progress_bar:\n",
+ " for slice_idx in range(num_slices):\n",
+ " ground_truth_wandb_images = []\n",
+ " for channel_idx in range(num_channels):\n",
+ " ground_truth_wandb_images.append(\n",
+ " wandb.Image(\n",
+ " sample_image[channel_idx, :, :, slice_idx],\n",
+ " masks={\n",
+ " \"ground-truth/Tumor-Core\": {\n",
+ " \"mask_data\": sample_label[0, :, :, slice_idx],\n",
+ " \"class_labels\": {0: \"background\", 1: \"Tumor Core\"},\n",
+ " },\n",
+ " \"ground-truth/Whole-Tumor\": {\n",
+ " \"mask_data\": sample_label[1, :, :, slice_idx] * 2,\n",
+ " \"class_labels\": {0: \"background\", 2: \"Whole Tumor\"},\n",
+ " },\n",
+ " \"ground-truth/Enhancing-Tumor\": {\n",
+ " \"mask_data\": sample_label[2, :, :, slice_idx] * 3,\n",
+ " \"class_labels\": {0: \"background\", 3: \"Enhancing Tumor\"},\n",
+ " },\n",
+ " },\n",
+ " )\n",
+ " )\n",
+ " table.add_data(split, data_idx, slice_idx, *ground_truth_wandb_images)\n",
+ " progress_bar.update(1)\n",
+ " return table"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Next, we define the `wandb.Table` object and what columns it consists of so that we can populate with our data visualizations."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "table = wandb.Table(\n",
+ " columns=[\n",
+ " \"Split\",\n",
+ " \"Data Index\",\n",
+ " \"Slice Index\",\n",
+ " \"Image-Channel-0\",\n",
+ " \"Image-Channel-1\",\n",
+ " \"Image-Channel-2\",\n",
+ " \"Image-Channel-3\",\n",
+ " ]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Then we loop over the `train_dataset` and `val_dataset` respectively to generate the visualizations for the data samples and populate the rows of the table which we would log to our dashboard."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Generate visualizations for train_dataset\n",
+ "max_samples = (\n",
+ " min(config.max_train_images_visualized, len(train_dataset))\n",
+ " if config.max_train_images_visualized > 0\n",
+ " else len(train_dataset)\n",
+ ")\n",
+ "progress_bar = tqdm(\n",
+ " enumerate(train_dataset[:max_samples]),\n",
+ " total=max_samples,\n",
+ " desc=\"Generating Train Dataset Visualizations:\",\n",
+ ")\n",
+ "for data_idx, sample in progress_bar:\n",
+ " sample_image = sample[\"image\"].detach().cpu().numpy()\n",
+ " sample_label = sample[\"label\"].detach().cpu().numpy()\n",
+ " table = log_data_samples_into_tables(\n",
+ " sample_image,\n",
+ " sample_label,\n",
+ " split=\"train\",\n",
+ " data_idx=data_idx,\n",
+ " table=table,\n",
+ " )\n",
+ "\n",
+ "# Generate visualizations for val_dataset\n",
+ "max_samples = (\n",
+ " min(config.max_val_images_visualized, len(val_dataset))\n",
+ " if config.max_val_images_visualized > 0\n",
+ " else len(val_dataset)\n",
+ ")\n",
+ "progress_bar = tqdm(\n",
+ " enumerate(val_dataset[:max_samples]),\n",
+ " total=max_samples,\n",
+ " desc=\"Generating Validation Dataset Visualizations:\",\n",
+ ")\n",
+ "for data_idx, sample in progress_bar:\n",
+ " sample_image = sample[\"image\"].detach().cpu().numpy()\n",
+ " sample_label = sample[\"label\"].detach().cpu().numpy()\n",
+ " table = log_data_samples_into_tables(\n",
+ " sample_image,\n",
+ " sample_label,\n",
+ " split=\"val\",\n",
+ " data_idx=data_idx,\n",
+ " table=table,\n",
+ " )\n",
+ "\n",
+ "# Log the table to your dashboard\n",
+ "wandb.log({\"Tumor-Segmentation-Data\": table})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The data appears to us on our W&B dashboard in an interactive tabular format. We can see each channel of a particular slice from a data volume overlayed with the respective segmentation mask in each row. Let us write [Weave queries](https://docs.wandb.ai/guides/weave) to filter the data on our table and focus on one particular row.\n",
+ "\n",
+ "![](./assets/viz-1.gif)\n",
+ "\n",
+ "Let us now open an image and check how we can interact with each of the segmentation masks using the interactive overlay.\n",
+ "\n",
+ "![](./assets/viz-2.gif)\n",
+ "\n",
+ "**Note:** The labels in the dataset consist of non-overlapping masks across classes, hence, they were logged as separate masks in the overlay."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 🛫 Loading the Data\n",
+ "\n",
+ "We create the PyTorch dataloaders for loading the data from the datasets. Note that before creating the dataloaders, we set the `transform` for `train_dataset` to `train_transform` to preprocess and transform the data for training."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# apply train_transforms to the training dataset\n",
+ "train_dataset.transform = train_transform\n",
+ "\n",
+ "# create the train_loader\n",
+ "train_loader = DataLoader(\n",
+ " train_dataset,\n",
+ " batch_size=config.batch_size,\n",
+ " shuffle=True,\n",
+ " num_workers=config.num_workers,\n",
+ ")\n",
+ "\n",
+ "# create the val_loader\n",
+ "val_loader = DataLoader(\n",
+ " val_dataset,\n",
+ " batch_size=config.batch_size,\n",
+ " shuffle=False,\n",
+ " num_workers=config.num_workers,\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 🤖 Creating the Model, Loss, and Optimizer"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In this tutorial we will be training a `SegResNet` model based on the paper [3D MRI brain tumor segmentation using autoencoder regularization](https://arxiv.org/pdf/1810.11654.pdf). We create the `SegResNet` model that comes implemented as a PyTorch Module as part of the `monai.networks` API. We also create our optimizer and learning rate scheduler."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "device = torch.device(\"cuda:0\")\n",
+ "\n",
+ "# create model\n",
+ "model = SegResNet(\n",
+ " blocks_down=[1, 2, 2, 4],\n",
+ " blocks_up=[1, 1, 1],\n",
+ " init_filters=16,\n",
+ " in_channels=4,\n",
+ " out_channels=3,\n",
+ " dropout_prob=0.2,\n",
+ ").to(device)\n",
+ "\n",
+ "# create optimizer\n",
+ "optimizer = torch.optim.Adam(\n",
+ " model.parameters(),\n",
+ " config.initial_learning_rate,\n",
+ " weight_decay=config.weight_decay,\n",
+ ")\n",
+ "\n",
+ "# create learning rate scheduler\n",
+ "lr_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(\n",
+ " optimizer, T_max=config.max_train_epochs\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We define our loss as multi-label `DiceLoss` using the `monai.losses` API and the corresponding dice metrics using the `monai.metrics` API."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "loss_function = DiceLoss(\n",
+ " smooth_nr=config.dice_loss_smoothen_numerator,\n",
+ " smooth_dr=config.dice_loss_smoothen_denominator,\n",
+ " squared_pred=config.dice_loss_squared_prediction,\n",
+ " to_onehot_y=config.dice_loss_target_onehot,\n",
+ " sigmoid=config.dice_loss_apply_sigmoid,\n",
+ ")\n",
+ "\n",
+ "dice_metric = DiceMetric(include_background=True, reduction=\"mean\")\n",
+ "dice_metric_batch = DiceMetric(include_background=True, reduction=\"mean_batch\")\n",
+ "post_trans = Compose([Activations(sigmoid=True), AsDiscrete(threshold=0.5)])\n",
+ "\n",
+ "# use automatic mixed-precision to accelerate training\n",
+ "scaler = torch.cuda.amp.GradScaler()\n",
+ "torch.backends.cudnn.benchmark = True"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def inference(model, input):\n",
+ " def _compute(input):\n",
+ " return sliding_window_inference(\n",
+ " inputs=input,\n",
+ " roi_size=(240, 240, 160),\n",
+ " sw_batch_size=1,\n",
+ " predictor=model,\n",
+ " overlap=0.5,\n",
+ " )\n",
+ "\n",
+ " with torch.cuda.amp.autocast():\n",
+ " return _compute(input)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 🚝 Training and Validation\n",
+ "\n",
+ "Before we start training, let us define some metric properties which will later be logged with `wandb.log()` for tracking our training and validation experiments."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.define_metric(\"epoch/epoch_step\")\n",
+ "wandb.define_metric(\"epoch/*\", step_metric=\"epoch/epoch_step\")\n",
+ "wandb.define_metric(\"batch/batch_step\")\n",
+ "wandb.define_metric(\"batch/*\", step_metric=\"batch/batch_step\")\n",
+ "wandb.define_metric(\"validation/validation_step\")\n",
+ "wandb.define_metric(\"validation/*\", step_metric=\"validation/validation_step\")\n",
+ "\n",
+ "batch_step = 0\n",
+ "validation_step = 0\n",
+ "metric_values = []\n",
+ "metric_values_tumor_core = []\n",
+ "metric_values_whole_tumor = []\n",
+ "metric_values_enhanced_tumor = []"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 🍭 Execute Standard PyTorch Training Loop"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Define a W&B Artifact object\n",
+ "artifact = wandb.Artifact(\n",
+ " name=f\"{wandb.run.id}-checkpoint\", type=\"model\"\n",
+ ")\n",
+ "\n",
+ "epoch_progress_bar = tqdm(range(config.max_train_epochs), desc=\"Training:\")\n",
+ "\n",
+ "for epoch in epoch_progress_bar:\n",
+ " model.train()\n",
+ " epoch_loss = 0\n",
+ "\n",
+ " total_batch_steps = len(train_dataset) // train_loader.batch_size\n",
+ " batch_progress_bar = tqdm(train_loader, total=total_batch_steps, leave=False)\n",
+ " \n",
+ " # Training Step\n",
+ " for batch_data in batch_progress_bar:\n",
+ " inputs, labels = (\n",
+ " batch_data[\"image\"].to(device),\n",
+ " batch_data[\"label\"].to(device),\n",
+ " )\n",
+ " optimizer.zero_grad()\n",
+ " with torch.cuda.amp.autocast():\n",
+ " outputs = model(inputs)\n",
+ " loss = loss_function(outputs, labels)\n",
+ " scaler.scale(loss).backward()\n",
+ " scaler.step(optimizer)\n",
+ " scaler.update()\n",
+ " epoch_loss += loss.item()\n",
+ " batch_progress_bar.set_description(f\"train_loss: {loss.item():.4f}:\")\n",
+ " ## Log batch-wise training loss to W&B\n",
+ " wandb.log({\"batch/batch_step\": batch_step, \"batch/train_loss\": loss.item()})\n",
+ " batch_step += 1\n",
+ "\n",
+ " lr_scheduler.step()\n",
+ " epoch_loss /= total_batch_steps\n",
+ " ## Log batch-wise training loss and learning rate to W&B\n",
+ " wandb.log(\n",
+ " {\n",
+ " \"epoch/epoch_step\": epoch,\n",
+ " \"epoch/mean_train_loss\": epoch_loss,\n",
+ " \"epoch/learning_rate\": lr_scheduler.get_last_lr()[0],\n",
+ " }\n",
+ " )\n",
+ " epoch_progress_bar.set_description(f\"Training: train_loss: {epoch_loss:.4f}:\")\n",
+ "\n",
+ " # Validation and model checkpointing\n",
+ " if (epoch + 1) % config.validation_intervals == 0:\n",
+ " model.eval()\n",
+ " with torch.no_grad():\n",
+ " for val_data in val_loader:\n",
+ " val_inputs, val_labels = (\n",
+ " val_data[\"image\"].to(device),\n",
+ " val_data[\"label\"].to(device),\n",
+ " )\n",
+ " val_outputs = inference(model, val_inputs)\n",
+ " val_outputs = [post_trans(i) for i in decollate_batch(val_outputs)]\n",
+ " dice_metric(y_pred=val_outputs, y=val_labels)\n",
+ " dice_metric_batch(y_pred=val_outputs, y=val_labels)\n",
+ "\n",
+ " metric_values.append(dice_metric.aggregate().item())\n",
+ " metric_batch = dice_metric_batch.aggregate()\n",
+ " metric_values_tumor_core.append(metric_batch[0].item())\n",
+ " metric_values_whole_tumor.append(metric_batch[1].item())\n",
+ " metric_values_enhanced_tumor.append(metric_batch[2].item())\n",
+ " dice_metric.reset()\n",
+ " dice_metric_batch.reset()\n",
+ "\n",
+ " checkpoint_path = os.path.join(config.checkpoint_dir, \"model.pth\")\n",
+ " torch.save(model.state_dict(), checkpoint_path)\n",
+ " \n",
+ " # Log and versison model checkpoints using W&B artifacts.\n",
+ " artifact.add_file(local_path=checkpoint_path)\n",
+ " wandb.log_artifact(artifact, aliases=[f\"epoch_{epoch}\"])\n",
+ "\n",
+ " # Log validation metrics to W&B dashboard.\n",
+ " wandb.log(\n",
+ " {\n",
+ " \"validation/validation_step\": validation_step,\n",
+ " \"validation/mean_dice\": metric_values[-1],\n",
+ " \"validation/mean_dice_tumor_core\": metric_values_tumor_core[-1],\n",
+ " \"validation/mean_dice_whole_tumor\": metric_values_whole_tumor[-1],\n",
+ " \"validation/mean_dice_enhanced_tumor\": metric_values_enhanced_tumor[-1],\n",
+ " }\n",
+ " )\n",
+ " validation_step += 1\n",
+ "\n",
+ "\n",
+ "# Wait for this artifact to finish logging\n",
+ "artifact.wait()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Instrumenting our code with `wandb.log` not only enables us to track all the metrics associated with our training and validation process, but also the all system metrics (our CPU and GPU in this case) on our W&B dashboard.\n",
+ "\n",
+ "![](./assets/viz-3.gif)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "If we navigate to the artifacts tab in the W&B run dashboard, we will be able to access the different versions of model checkpoint artifacts that we logged during training.\n",
+ "\n",
+ "![](./assets/viz-4.gif)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 🔱 Inference"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Using the artifacts interface, we can select which version of the artifact is the best model checkpoint, in this case, the mean epoch-wise training loss. We can also explore the entire lineage of the artifact and also use the version that we need.\n",
+ "\n",
+ "![](./assets/viz-5.gif)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let us fetch the version of the model artifact with the best epoch-wise mean training loss and load the checkpoint state dictionary to the model."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "model_artifact = wandb.use_artifact(\n",
+ " \"geekyrakshit/monai-brain-tumor-segmentation/d5ex6n4a-checkpoint:v49\",\n",
+ " type=\"model\",\n",
+ ")\n",
+ "model_artifact_dir = model_artifact.download()\n",
+ "model.load_state_dict(torch.load(os.path.join(model_artifact_dir, \"model.pth\")))\n",
+ "model.eval()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 📸 Visualizing Predictions and Comparing with the Ground Truth Labels\n",
+ "\n",
+ "In order to visualize the predictions of the pre-trained model and compare them with the corresponding ground-truth segmentation mask using the interactive segmentation mask overlay, let us create another ultility function."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def log_predictions_into_tables(\n",
+ " sample_image: np.array,\n",
+ " sample_label: np.array,\n",
+ " predicted_label: np.array,\n",
+ " split: str = None,\n",
+ " data_idx: int = None,\n",
+ " table: wandb.Table = None,\n",
+ "):\n",
+ " num_channels, _, _, num_slices = sample_image.shape\n",
+ " with tqdm(total=num_slices, leave=False) as progress_bar:\n",
+ " for slice_idx in range(num_slices):\n",
+ " wandb_images = []\n",
+ " for channel_idx in range(num_channels):\n",
+ " wandb_images += [\n",
+ " wandb.Image(\n",
+ " sample_image[channel_idx, :, :, slice_idx],\n",
+ " masks={\n",
+ " \"ground-truth/Tumor-Core\": {\n",
+ " \"mask_data\": sample_label[0, :, :, slice_idx],\n",
+ " \"class_labels\": {0: \"background\", 1: \"Tumor Core\"},\n",
+ " },\n",
+ " \"prediction/Tumor-Core\": {\n",
+ " \"mask_data\": predicted_label[0, :, :, slice_idx] * 2,\n",
+ " \"class_labels\": {0: \"background\", 2: \"Tumor Core\"},\n",
+ " },\n",
+ " },\n",
+ " ),\n",
+ " wandb.Image(\n",
+ " sample_image[channel_idx, :, :, slice_idx],\n",
+ " masks={\n",
+ " \"ground-truth/Whole-Tumor\": {\n",
+ " \"mask_data\": sample_label[1, :, :, slice_idx],\n",
+ " \"class_labels\": {0: \"background\", 1: \"Whole Tumor\"},\n",
+ " },\n",
+ " \"prediction/Whole-Tumor\": {\n",
+ " \"mask_data\": predicted_label[1, :, :, slice_idx] * 2,\n",
+ " \"class_labels\": {0: \"background\", 2: \"Whole Tumor\"},\n",
+ " },\n",
+ " },\n",
+ " ),\n",
+ " wandb.Image(\n",
+ " sample_image[channel_idx, :, :, slice_idx],\n",
+ " masks={\n",
+ " \"ground-truth/Enhancing-Tumor\": {\n",
+ " \"mask_data\": sample_label[2, :, :, slice_idx],\n",
+ " \"class_labels\": {0: \"background\", 1: \"Enhancing Tumor\"},\n",
+ " },\n",
+ " \"prediction/Enhancing-Tumor\": {\n",
+ " \"mask_data\": predicted_label[2, :, :, slice_idx] * 2,\n",
+ " \"class_labels\": {0: \"background\", 2: \"Enhancing Tumor\"},\n",
+ " },\n",
+ " },\n",
+ " ),\n",
+ " ]\n",
+ " table.add_data(split, data_idx, slice_idx, *wandb_images)\n",
+ " progress_bar.update(1)\n",
+ " return table"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# create the prediction table\n",
+ "prediction_table = wandb.Table(\n",
+ " columns=[\n",
+ " \"Split\",\n",
+ " \"Data Index\",\n",
+ " \"Slice Index\",\n",
+ " \"Image-Channel-0/Tumor-Core\",\n",
+ " \"Image-Channel-1/Tumor-Core\",\n",
+ " \"Image-Channel-2/Tumor-Core\",\n",
+ " \"Image-Channel-3/Tumor-Core\",\n",
+ " \"Image-Channel-0/Whole-Tumor\",\n",
+ " \"Image-Channel-1/Whole-Tumor\",\n",
+ " \"Image-Channel-2/Whole-Tumor\",\n",
+ " \"Image-Channel-3/Whole-Tumor\",\n",
+ " \"Image-Channel-0/Enhancing-Tumor\",\n",
+ " \"Image-Channel-1/Enhancing-Tumor\",\n",
+ " \"Image-Channel-2/Enhancing-Tumor\",\n",
+ " \"Image-Channel-3/Enhancing-Tumor\",\n",
+ " ]\n",
+ ")\n",
+ "\n",
+ "# Perform inference and visualization\n",
+ "with torch.no_grad():\n",
+ " config.max_prediction_images_visualized\n",
+ " max_samples = (\n",
+ " min(config.max_prediction_images_visualized, len(val_dataset))\n",
+ " if config.max_prediction_images_visualized > 0\n",
+ " else len(val_dataset)\n",
+ " )\n",
+ " progress_bar = tqdm(\n",
+ " enumerate(val_dataset[:max_samples]),\n",
+ " total=max_samples,\n",
+ " desc=\"Generating Predictions:\",\n",
+ " )\n",
+ " for data_idx, sample in progress_bar:\n",
+ " val_input = sample[\"image\"].unsqueeze(0).to(device)\n",
+ " val_output = inference(model, val_input)\n",
+ " val_output = post_trans(val_output[0])\n",
+ " prediction_table = log_predictions_into_tables(\n",
+ " sample_image=sample[\"image\"].cpu().numpy(),\n",
+ " sample_label=sample[\"label\"].cpu().numpy(),\n",
+ " predicted_label=val_output.cpu().numpy(),\n",
+ " data_idx=data_idx,\n",
+ " split=\"validation\",\n",
+ " table=prediction_table,\n",
+ " )\n",
+ "\n",
+ " wandb.log({\"Predictions/Tumor-Segmentation-Data\": prediction_table})\n",
+ "\n",
+ "\n",
+ "# End the experiment\n",
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let us see how we can analyze and compare the predicted segmentation masks and the ground-truth labels for each class using the interactive segmentation mask overlay.\n",
+ "\n",
+ "![](./assets/viz-6.gif)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "You can also check out the report [Brain Tumor Segmentation using MONAI and WandB](https://wandb.ai/geekyrakshit/brain-tumor-segmentation/reports/Brain-Tumor-Segmentation-using-MONAI-and-WandB---Vmlldzo0MjUzODIw) for more details regarding training a brain-tumor segmentation model using MONAI and W&B."
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/colabs/monai/assets/viz-1.gif b/colabs/monai/assets/viz-1.gif
new file mode 100644
index 00000000..3eb97b47
Binary files /dev/null and b/colabs/monai/assets/viz-1.gif differ
diff --git a/colabs/monai/assets/viz-2.gif b/colabs/monai/assets/viz-2.gif
new file mode 100644
index 00000000..45ebb1db
Binary files /dev/null and b/colabs/monai/assets/viz-2.gif differ
diff --git a/colabs/monai/assets/viz-3.gif b/colabs/monai/assets/viz-3.gif
new file mode 100644
index 00000000..df8d3954
Binary files /dev/null and b/colabs/monai/assets/viz-3.gif differ
diff --git a/colabs/monai/assets/viz-4.gif b/colabs/monai/assets/viz-4.gif
new file mode 100644
index 00000000..6cdea3b7
Binary files /dev/null and b/colabs/monai/assets/viz-4.gif differ
diff --git a/colabs/monai/assets/viz-5.gif b/colabs/monai/assets/viz-5.gif
new file mode 100644
index 00000000..2a0be82a
Binary files /dev/null and b/colabs/monai/assets/viz-5.gif differ
diff --git a/colabs/monai/assets/viz-6.gif b/colabs/monai/assets/viz-6.gif
new file mode 100644
index 00000000..11eaa5ba
Binary files /dev/null and b/colabs/monai/assets/viz-6.gif differ
diff --git a/colabs/mosaicml/MosaicML_Composer_and_wandb.ipynb b/colabs/mosaicml/MosaicML_Composer_and_wandb.ipynb
index e9b2b3d2..9a36ca45 100644
--- a/colabs/mosaicml/MosaicML_Composer_and_wandb.ipynb
+++ b/colabs/mosaicml/MosaicML_Composer_and_wandb.ipynb
@@ -1,455 +1,506 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "id": "910a2eb0-65b5-4b6c-971a-19bf8121ab13",
- "metadata": {},
- "source": [
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "# Running fast with MosaicML Composer and Weight and Biases"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "4961c393-0154-4937-98d7-16e472b9a0d3",
- "metadata": {},
- "source": [
- "[MosaicML Composer](https://docs.mosaicml.com) is a library for training neural networks better, faster, and cheaper. It contains many state-of-the-art methods for accelerating neural network training and improving generalization, along with an optional Trainer API that makes composing many different enhancements easy.\n",
- "\n",
- "Coupled with [Weights & Biases integration](https://docs.mosaicml.com/en/v0.5.0/trainer/logging.html), you can quickly train and monitor models for full traceability and reproducibility with only 2 extra lines of code:\n",
- "\n",
- "```python\n",
- "from composer.loggers import WandBLogger\n",
- "wandb_logger = WandBLogger()\n",
- "```"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "4ec877f6-57aa-4423-ae4b-f85769c59dd6",
- "metadata": {},
- "source": [
- "W&B integration with Composer can automatically:\n",
- "* log your configuration parameters\n",
- "* log your losses and metrics\n",
- "* log gradients and parameter distributions\n",
- "* log your model\n",
- "* keep track of your code\n",
- "* log your system metrics (GPU, CPU, memory, temperature, etc)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "092b0104-530a-438d-bd68-08f627cc8920",
- "metadata": {},
- "source": [
- "### 🛠️ Installation and set-up\n",
- "\n",
- "We need to install the following libraries:\n",
- "* [mosaicml-composer](https://docs.mosaicml.com/en/v0.5.0/getting_started/installation.html) to set up and train our models\n",
- "* [wandb](https://docs.wandb.ai/) to instrument our training"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "56bbcb21-babd-488b-a20d-080f43f09897",
- "metadata": {},
- "outputs": [],
- "source": [
- "!pip install -Uq wandb mosaicml fastcore"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "39e54ec9-51b6-4f49-9ea1-2ed82f03add3",
- "metadata": {},
- "source": [
- "## Getting Started with Composer 🔥"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "a2e0f570-d323-4ecf-bdb3-1469730f562b",
- "metadata": {},
- "source": [
- "Composer gives you access to a set of functions to speedup your models and infuse them with state of the art methods. For instance, you can insert [BlurPool](https://docs.mosaicml.com/en/latest/method_cards/blurpool.html) into your CNN by calling `CF.apply_blurpool(model)` into your PyTorch model. Take a look at all the [functional](https://docs.mosaicml.com/en/latest/functional_api.html) methods available."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "55d71a76-7354-43ee-87c1-a83aa88b0b69",
- "metadata": {},
- "outputs": [],
- "source": [
- "import logging\n",
- "from composer import functional as CF\n",
- "import torchvision.models as models\n",
- "\n",
- "logging.basicConfig(level=logging.INFO)\n",
- "model = models.resnet50()\n",
- "\n",
- "# replace some layers with blurpool\n",
- "CF.apply_blurpool(model);\n",
- "# replace some layers with squeeze-excite\n",
- "CF.apply_squeeze_excite(model, latent_channels=64, min_channels=128);"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "15ad4bdf-9d1f-4bf6-8e30-ff72e06c6718",
- "metadata": {},
- "source": [
- "> 💡 you can use this upgraded model with your favourite PyTorch training or... "
- ]
- },
- {
- "cell_type": "markdown",
- "id": "642eb0d5-b4f6-4add-9d59-235222bc2236",
- "metadata": {},
- "source": [
- "## Use the `Trainer` class with Weights and Biases 🏋️♀️\n",
- "\n",
- "W&B integration with MosaicML-Composer is built into the `Trainer` and can be configured to add extra functionalities through `WandBLogger`:\n",
- "\n",
- "* logging of Artifacts: Use `log_artifacts=True` to log model checkpoints as `wandb.Artifacts`. You can setup how often by passing an int value to `log_artifacts_every_n_batches` (default = 100)\n",
- "* you can also pass any parameter that you would pass to `wandb.init` in `init_params` as a dictionary. For example, you could pass `init_params = {\"project\":\"try_mosaicml\", \"name\":\"benchmark\", \"entity\":\"user_name\"}`.\n",
- "\n",
- "For more details refer to [Logger documentation](https://docs.mosaicml.com/en/latest/api_reference/composer.loggers.wandb_logger.html#composer.loggers.wandb_logger.WandBLogger) and [Wandb docs](https://docs.wandb.ai)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "caecb6eb-25b9-4daf-a1d2-465fecf98ef7",
- "metadata": {},
- "outputs": [],
- "source": [
- "EPOCHS = 5\n",
- "BS = 32"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "93fbba13-dbb9-436e-8237-fa60f0e54675",
- "metadata": {},
- "outputs": [],
- "source": [
- "import wandb\n",
- "\n",
- "from torch.utils.data import DataLoader\n",
- "from torchvision import datasets\n",
- "\n",
- "import torchvision.transforms as T\n",
- "\n",
- "from composer import Callback, State, Logger, Trainer\n",
- "from composer.models import MNIST_Classifier\n",
- "from composer.loggers import WandBLogger, TQDMLogger\n",
- "from composer.callbacks import SpeedMonitor, LRMonitor"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "b8f42d23-1e98-46b7-872d-17e326a30ef1",
- "metadata": {},
- "source": [
- "let's grab a copy of MNIST from `torchvision`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "5df9ec80-22ec-4cad-91a3-685a1392dcc3",
- "metadata": {},
- "outputs": [],
- "source": [
- "train_dataset = datasets.MNIST(\".\", train=True, download=True, transform=T.ToTensor())\n",
- "eval_dataset = datasets.MNIST(\".\", train=False, download=True, transform=T.ToTensor())\n",
- "\n",
- "train_dataloader = DataLoader(train_dataset, shuffle=True, batch_size=BS, num_workers=2)\n",
- "eval_dataloader = DataLoader(eval_dataset, batch_size=2*BS, num_workers=2)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "e13640e3-7ff3-4fb2-a795-6443568cbf3e",
- "metadata": {},
- "source": [
- "we can import a simple ConvNet model to try"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "eb8f7103-cad2-4f40-9d48-5ac2b394b4d6",
- "metadata": {},
- "outputs": [],
- "source": [
- "model = MNIST_Classifier()"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "baa820b1-12bb-43c8-ae7c-5cea24b69c35",
- "metadata": {},
- "source": [
- "### 📊 Tracking the experiment\n",
- "> we define the `wandb.init` params here"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "c4424591-cd28-4af2-987b-be0588a99a8e",
- "metadata": {},
- "outputs": [],
- "source": [
- "# config params to log\n",
- "config = {\"epochs\":EPOCHS, \n",
- " \"batch_size\":BS,\n",
- " \"model_name\":\"MNIST_Classifier\"}\n",
- "\n",
- "# these will get passed to wandb.init(**init_params)\n",
- "init_params = {\"project\":\"mosaic_ml\", \n",
- " \"name\":\"mnist_baseline\",\n",
- " \"config\":config}\n",
- "\n",
- "# setup of the logger \n",
- "wandb_logger = WandBLogger(init_params=init_params)\n",
- "\n",
- "# we also add progressbar logging\n",
- "progress_logger = TQDMLogger()\n",
- "\n",
- "loggers = [progress_logger, wandb_logger]"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "2f2b5740-7736-4f6d-88f1-c89a669691fe",
- "metadata": {},
- "source": [
- "we are able to tweak what are we logging using `Callbacks` into the `Trainer` class."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "e60c66bc-f046-4a57-9ea7-a6e9fe5cfc3f",
- "metadata": {},
- "outputs": [],
- "source": [
- "callbacks = [LRMonitor(), # Logs the learning rate\n",
- " SpeedMonitor(), # Logs the training throughput\n",
- " ]"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "0e647bcc-abe5-45cd-bb7d-fa91e6c2006e",
- "metadata": {},
- "source": [
- "we include callbacks that measure the model throughput (and the learning rate) and logs them to Weights & Biases. [Callbacks](https://docs.mosaicml.com/en/latest/trainer/callbacks.html) control what is being logged, whereas loggers specify where the information is being saved. For more information on loggers, see [Logging](https://docs.mosaicml.com/en/latest/trainer/logging.html)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "fb0ad37f-943a-4341-8a16-32bf88e98ac1",
- "metadata": {},
- "outputs": [],
- "source": [
- "trainer = Trainer(\n",
- " model=model,\n",
- " train_dataloader=train_dataloader,\n",
- " eval_dataloader=eval_dataloader,\n",
- " max_duration=f\"{EPOCHS}ep\",\n",
- " loggers=loggers,\n",
- " callbacks=callbacks,\n",
- " device=\"gpu\", # to train on GPU\n",
- " precision=\"amp\", # use mixed precision training, nice speed bump\n",
- "\n",
- ")"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "1ae01513-21a8-49a5-bec3-83bebf079710",
- "metadata": {},
- "source": [
- "once we are ready to train we call `fit`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "99044ec7-3e07-4c21-8ba2-9eed79ecb801",
- "metadata": {},
- "outputs": [],
- "source": [
- "trainer.fit()"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "22563587-a1bc-4885-95a7-81d47858efe4",
- "metadata": {},
- "source": [
- "## ⚙️ Advanced: Using callbacks to log sample predictions\n",
- "\n",
- "> Composer is extensible through its callback system.\n",
- "\n",
- "We create a custom callback to automatically log sample predictions during validation."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "b4c0116c-70e0-4f34-828a-1c911c709346",
- "metadata": {},
- "outputs": [],
- "source": [
- "class LogPredictions(Callback):\n",
- " def __init__(self, num_samples=100):\n",
- " super().__init__()\n",
- " self.num_samples = num_samples\n",
- " self.data = []\n",
- " \n",
- " def eval_batch_end(self, state: State, logger: Logger):\n",
- " \"\"\"Compute predictions per batch and stores them on self.data\"\"\"\n",
- " if state.timer.epoch == state.max_duration: # on last val epoch\n",
- " if len(self.data) < self.num_samples:\n",
- " n = self.num_samples\n",
- " x, y = state.batch_pair\n",
- " outputs = state.outputs.argmax(-1)\n",
- " data = [[wandb.Image(x_i), y_i, y_pred] for x_i, y_i, y_pred in list(zip(x[:n], y[:n], outputs[:n]))]\n",
- " self.data += data\n",
- " \n",
- " def eval_end(self, state: State, logger: Logger):\n",
- " \"Create a wandb.Table and logs it\"\n",
- " columns = ['image', 'ground truth', 'prediction']\n",
- " table = wandb.Table(columns=columns, data=self.data[:self.num_samples])\n",
- " wandb.log({'predictions_table':table}, step=int(state.timer.batch))"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "77e816d1-a114-4bca-8a7b-a70b13969366",
- "metadata": {},
- "source": [
- "we add `LogPredictions` to the other callbacks"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "682b52b0-5055-4cfd-a6c1-1a114390e965",
- "metadata": {},
- "outputs": [],
- "source": [
- "callbacks.append(LogPredictions())"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "92cd7e36-e0c9-4235-980f-f590500478a1",
- "metadata": {},
- "outputs": [],
- "source": [
- "trainer = Trainer(\n",
- " model=model,\n",
- " train_dataloader=train_dataloader,\n",
- " eval_dataloader=eval_dataloader,\n",
- " max_duration=f\"{EPOCHS}ep\",\n",
- " loggers=loggers,\n",
- " callbacks=callbacks,\n",
- " device=\"gpu\", # to train on GPU\n",
- " precision=\"amp\", # use mixed precision training, nice speed bump\n",
- "\n",
- ")"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "2ea27598-8d08-4ce0-b3ef-ed34fd161e48",
- "metadata": {},
- "source": [
- "Once we're ready to train, we just call the `fit` method."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "6ccc77ed-bfd3-4698-a9a4-431b8a46079d",
- "metadata": {},
- "outputs": [],
- "source": [
- "trainer.fit()"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "ebfd5172-59b2-4895-97e9-8e8906ee7147",
- "metadata": {},
- "source": [
- "We can monitor losses, metrics, gradients, parameters and sample predictions as the model trains."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "e74c0eba-58ce-435a-8bee-9c55663e17de",
- "metadata": {},
- "source": [
- "![composer.png](https://i.imgur.com/VFZLOB3.png?1)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "8f0ddffd-2ed4-4be6-848e-d95e373cc84d",
- "metadata": {},
- "source": [
- "## 📚 Resources\n",
- "\n",
- "* We are excited to showcase this early support of [MosaicML-Composer](https://docs.mosaicml.com/en/latest/index.html) go ahead and try this new state of the art framework."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "0c60f734-8eef-4b95-b4e1-d4d33ff48399",
- "metadata": {},
- "source": [
- "## ❓ Questions about W&B\n",
- "\n",
- "If you have any questions about using W&B to track your model performance and predictions, please reach out to the [wandb community](https://community.wandb.ai)."
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "include_colab_link": true,
- "provenance": [],
- "toc_visible": true
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "0196e78a",
+ "metadata": {
+ "id": "0196e78a"
+ },
+ "source": [
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "362c2ed6",
+ "metadata": {
+ "id": "362c2ed6"
+ },
+ "source": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Running fast with MosaicML Composer and Weight and Biases"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c740179e",
+ "metadata": {
+ "id": "c740179e"
+ },
+ "source": [
+ "[MosaicML Composer](https://docs.mosaicml.com) is a library for training neural networks better, faster, and cheaper. It contains many state-of-the-art methods for accelerating neural network training and improving generalization, along with an optional Trainer API that makes composing many different enhancements easy.\n",
+ "\n",
+ "Coupled with [Weights & Biases integration](https://docs.wandb.ai/guides/integrations/composer), you can quickly train and monitor models for full traceability and reproducibility with only 2 extra lines of code:\n",
+ "\n",
+ "```python\n",
+ "from composer import Trainer\n",
+ "from composer.loggers import WandBLogger\n",
+ "\n",
+ "wandb_logger = WandBLogger(init_params=init_params)\n",
+ "trainer = Trainer(..., logger=wandb_logger)\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0eca27e4",
+ "metadata": {
+ "id": "0eca27e4"
+ },
+ "source": [
+ "W&B integration with Composer can automatically:\n",
+ "* log your configuration parameters\n",
+ "* log your losses and metrics\n",
+ "* log gradients and parameter distributions\n",
+ "* log your model\n",
+ "* keep track of your code\n",
+ "* log your system metrics (GPU, CPU, memory, temperature, etc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5640b1a0",
+ "metadata": {
+ "id": "5640b1a0"
+ },
+ "source": [
+ "### 🛠️ Installation and set-up\n",
+ "\n",
+ "We need to install the following libraries:\n",
+ "* [mosaicml-composer](https://docs.mosaicml.com/en/v0.5.0/getting_started/installation.html) to set up and train our models\n",
+ "* [wandb](https://docs.wandb.ai/) to instrument our training"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "764b0904",
+ "metadata": {
+ "id": "764b0904"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install -Uq wandb mosaicml"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "02c31ab7",
+ "metadata": {
+ "id": "02c31ab7"
+ },
+ "source": [
+ "## Use the Composer `Trainer` class with Weights and Biases 🏋️♀️\n",
+ "\n",
+ "W&B integration with MosaicML-Composer is built into the `Trainer` and can be configured to add extra functionalities through `WandBLogger`:\n",
+ "\n",
+ "* logging of Artifacts: Use `log_artifacts=True` to log model checkpoints as `wandb.Artifacts`. You can setup how often by passing an int value to `log_artifacts_every_n_batches` (default = 100)\n",
+ "* you can also pass any parameter that you would pass to `wandb.init` in `init_params` as a dictionary. For example, you could pass `init_params = {\"project\":\"try_mosaicml\", \"name\":\"benchmark\", \"entity\":\"user_name\"}`.\n",
+ "\n",
+ "For more details refer to [Logger documentation](https://docs.mosaicml.com/en/latest/api_reference/composer.loggers.wandb_logger.html#composer.loggers.wandb_logger.WandBLogger) and [Wandb docs](https://docs.wandb.ai)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "1e12ce9d",
+ "metadata": {
+ "id": "1e12ce9d"
+ },
+ "outputs": [],
+ "source": [
+ "EPOCHS = 5\n",
+ "BS = 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "4dbc1493",
+ "metadata": {
+ "id": "4dbc1493"
+ },
+ "outputs": [],
+ "source": [
+ "import wandb\n",
+ "\n",
+ "from torchvision import datasets, transforms\n",
+ "from torch.utils.data import DataLoader\n",
+ "\n",
+ "from composer import Callback, State, Logger, Trainer\n",
+ "from composer.models import mnist_model\n",
+ "from composer.loggers import WandBLogger\n",
+ "from composer.callbacks import SpeedMonitor, LRMonitor\n",
+ "from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ef7be365",
+ "metadata": {
+ "id": "ef7be365"
+ },
+ "source": [
+ "let's grab a copy of MNIST from `torchvision`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "b298a861",
+ "metadata": {
+ "id": "b298a861"
+ },
+ "outputs": [],
+ "source": [
+ "transform = transforms.Compose([transforms.ToTensor()])\n",
+ "dataset = datasets.MNIST(\"data\", train=True, download=True, transform=transform)\n",
+ "train_dataloader = DataLoader(dataset, batch_size=128)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b798a9ed",
+ "metadata": {
+ "id": "b798a9ed"
+ },
+ "source": [
+ "we can import a simple ConvNet model to try"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "6498cf78",
+ "metadata": {
+ "id": "6498cf78"
+ },
+ "outputs": [],
+ "source": [
+ "model = mnist_model(num_classes=10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8e9daaa5",
+ "metadata": {
+ "id": "8e9daaa5"
+ },
+ "source": [
+ "### 📊 Tracking the experiment\n",
+ "> we define the `wandb.init` params here"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "73bccc9f",
+ "metadata": {
+ "id": "73bccc9f"
+ },
+ "outputs": [],
+ "source": [
+ "# config params to log\n",
+ "config = {\"epochs\":EPOCHS,\n",
+ " \"batch_size\":BS,\n",
+ " \"model_name\":\"MNIST_Classifier\"}\n",
+ "\n",
+ "# these will get passed to wandb.init(**init_params)\n",
+ "wandb_init_kwargs = {\"config\":config}\n",
+ "\n",
+ "# setup of the logger\n",
+ "wandb_logger = WandBLogger(project=\"mnist-composer\",\n",
+ " log_artifacts=True,\n",
+ " init_kwargs=wandb_init_kwargs)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0dc1f7f6",
+ "metadata": {
+ "id": "0dc1f7f6"
+ },
+ "source": [
+ "we are able to tweak what are we logging using `Callbacks` into the `Trainer` class."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "id": "9b470f1a",
+ "metadata": {
+ "id": "9b470f1a"
+ },
+ "outputs": [],
+ "source": [
+ "callbacks = [LRMonitor(), # Logs the learning rate\n",
+ " SpeedMonitor(), # Logs the training throughput\n",
+ " ]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "28920cc2",
+ "metadata": {
+ "id": "28920cc2"
+ },
+ "source": [
+ "we include callbacks that measure the model throughput (and the learning rate) and logs them to Weights & Biases. [Callbacks](https://docs.mosaicml.com/en/latest/trainer/callbacks.html) control what is being logged, whereas loggers specify where the information is being saved. For more information on loggers, see [Logging](https://docs.mosaicml.com/en/latest/trainer/logging.html)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "trainer = Trainer(\n",
+ " model=mnist_model(num_classes=10),\n",
+ " train_dataloader=train_dataloader,\n",
+ " max_duration=\"2ep\",\n",
+ " loggers=[wandb_logger], # Pass your WandbLogger\n",
+ " callbacks=callbacks,\n",
+ " algorithms=[\n",
+ " LabelSmoothing(smoothing=0.1),\n",
+ " CutMix(alpha=1.0),\n",
+ " ChannelsLast(),\n",
+ " ]\n",
+ ")"
+ ],
+ "metadata": {
+ "id": "kmUiJQZoGU5D"
+ },
+ "id": "kmUiJQZoGU5D",
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0888b0c5",
+ "metadata": {
+ "id": "0888b0c5"
+ },
+ "source": [
+ "once we are ready to train we call `fit`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "2ca3468a",
+ "metadata": {
+ "id": "2ca3468a"
+ },
+ "outputs": [],
+ "source": [
+ "trainer.fit()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "We close the Trainer to properly finish all callbacks and loggers"
+ ],
+ "metadata": {
+ "id": "_4U7TodlIgPy"
+ },
+ "id": "_4U7TodlIgPy"
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "trainer.close()"
+ ],
+ "metadata": {
+ "id": "dTWX_MFZIfSF"
+ },
+ "id": "dTWX_MFZIfSF",
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "id": "598495ee",
+ "metadata": {
+ "id": "598495ee"
+ },
+ "source": [
+ "## ⚙️ Advanced: Using callbacks to log sample predictions\n",
+ "\n",
+ "> Composer is extensible through its callback system.\n",
+ "\n",
+ "We create a custom callback to automatically log sample predictions during validation."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "id": "00401b44",
+ "metadata": {
+ "id": "00401b44"
+ },
+ "outputs": [],
+ "source": [
+ "class LogPredictions(Callback):\n",
+ " def __init__(self, num_samples=100):\n",
+ " super().__init__()\n",
+ " self.num_samples = num_samples\n",
+ " self.data = []\n",
+ "\n",
+ " def batch_end(self, state: State, logger: Logger):\n",
+ " \"\"\"Compute predictions per batch and stores them on self.data\"\"\"\n",
+ " if len(self.data) < self.num_samples:\n",
+ " n = self.num_samples\n",
+ " x, y = state.batch\n",
+ " outputs = state.outputs.argmax(-1)\n",
+ " data = [[wandb.Image(x_i), y_i, y_pred] for x_i, y_i, y_pred in list(zip(x[:n], y[:n], outputs[:n]))]\n",
+ " self.data += data\n",
+ "\n",
+ " def epoch_end(self, state: State, logger: Logger):\n",
+ " \"Create a wandb.Table and logs it\"\n",
+ " columns = ['image', 'ground truth', 'prediction']\n",
+ " table = wandb.Table(columns=columns, data=self.data[:self.num_samples])\n",
+ " wandb.log({'predictions_table':table}, step=int(state.timestamp.batch))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "6161475c",
+ "metadata": {
+ "id": "6161475c"
+ },
+ "source": [
+ "we add `LogPredictions` to the other callbacks"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "id": "94d39bd5",
+ "metadata": {
+ "id": "94d39bd5"
+ },
+ "outputs": [],
+ "source": [
+ "callbacks.append(LogPredictions())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "trainer.close()"
+ ],
+ "metadata": {
+ "id": "8qXCtgRWM1ke"
+ },
+ "id": "8qXCtgRWM1ke",
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "8ea986a8",
+ "metadata": {
+ "id": "8ea986a8"
+ },
+ "outputs": [],
+ "source": [
+ "trainer = Trainer(\n",
+ " model=mnist_model(num_classes=10),\n",
+ " train_dataloader=train_dataloader,\n",
+ " max_duration=\"2ep\",\n",
+ " loggers=[wandb_logger], # Pass your WandbLogger\n",
+ " callbacks=callbacks,\n",
+ " algorithms=[\n",
+ " LabelSmoothing(smoothing=0.1),\n",
+ " CutMix(alpha=1.0),\n",
+ " ChannelsLast(),\n",
+ " ]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a4deb712",
+ "metadata": {
+ "id": "a4deb712"
+ },
+ "source": [
+ "Once we're ready to train, we just call the `fit` method."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "c8b00679",
+ "metadata": {
+ "id": "c8b00679"
+ },
+ "outputs": [],
+ "source": [
+ "trainer.fit()\n",
+ "trainer.close()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2c2e89f6",
+ "metadata": {
+ "id": "2c2e89f6"
+ },
+ "source": [
+ "We can monitor losses, metrics, gradients, parameters and sample predictions as the model trains."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f4889215",
+ "metadata": {
+ "id": "f4889215"
+ },
+ "source": [
+ "![composer.png](https://i.imgur.com/VFZLOB3.png?1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "97f57640",
+ "metadata": {
+ "id": "97f57640"
+ },
+ "source": [
+ "## 📚 Resources\n",
+ "\n",
+ "* We are excited to showcase this early support of [MosaicML-Composer](https://docs.mosaicml.com/en/latest/index.html) go ahead and try this new state of the art framework."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c6722706",
+ "metadata": {
+ "id": "c6722706"
+ },
+ "source": [
+ "## ❓ Questions about W&B\n",
+ "\n",
+ "If you have any questions about using W&B to track your model performance and predictions, please reach out to the [wandb community](https://community.wandb.ai)."
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
\ No newline at end of file
diff --git a/colabs/openai/Fine_tune_Azure_OpenAI_with_Weights_and_Biases.ipynb b/colabs/openai/Fine_tune_Azure_OpenAI_with_Weights_and_Biases.ipynb
new file mode 100644
index 00000000..39cfb9dc
--- /dev/null
+++ b/colabs/openai/Fine_tune_Azure_OpenAI_with_Weights_and_Biases.ipynb
@@ -0,0 +1,488 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "\n",
+ ""
+ ],
+ "metadata": {
+ "id": "S9LDX0sj5OVs"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Fine-tune ChatGPT-3.5-turbo with Weights & Biases on Microsoft Azure"
+ ],
+ "metadata": {
+ "id": "JJEBFlEE5cPw"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "If you use OpenAI's API to [fine-tune ChatGPT-3.5](https://platform.openai.com/docs/guides/fine-tuning), you can now use the `WandbLogger` integration to track experiments, models, and datasets in your central dashboard with just two lines of code:\n",
+ "\n",
+ "```\n",
+ "from wandb.integration.openai.fine_tuning import WandbLogger\n",
+ "\n",
+ "# Your fine-tuning logic\n",
+ "\n",
+ "WandbLogger.sync(id=fine_tune_job_id)\n",
+ "```\n",
+ "\n",
+ "See the [OpenAI section](https://wandb.me/openai-docs) in the Weights & Biases documentation for full details of the integration."
+ ],
+ "metadata": {
+ "id": "HpAxezNY5vOm"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Imports and Setup"
+ ],
+ "metadata": {
+ "id": "rMlLwy-b54b0"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "fDbdFT6E0MrR"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install openai requests tiktoken wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import os\n",
+ "import json\n",
+ "import tiktoken\n",
+ "import numpy as np\n",
+ "from collections import defaultdict"
+ ],
+ "metadata": {
+ "id": "yEcZ_vbY5_D4"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Note: Follow the instructions from the [official Azure documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/tutorials/fine-tune?tabs=python-new%2Ccommand-line) to set up a working Azure OpenAI service"
+ ],
+ "metadata": {
+ "id": "Nr3EfOS_-cvA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "os.environ[\"AZURE_OPENAI_ENDPOINT\"] = None\n",
+ "os.environ[\"AZURE_OPENAI_KEY\"] = None"
+ ],
+ "metadata": {
+ "id": "PnTa5edV1cBN"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Create our Dataset"
+ ],
+ "metadata": {
+ "id": "doFePxbi6HgK"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "%%writefile training_set.jsonl\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"Who discovered Antarctica?\"}, {\"role\": \"assistant\", \"content\": \"Some chaps named Fabian Gottlieb von Bellingshausen and Mikhail Lazarev, as if they don't teach that in every school!\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What is the biggest ocean?\"}, {\"role\": \"assistant\", \"content\": \"The Pacific Ocean. It's not like it's a small pond or anything.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What is the largest planet?\"}, {\"role\": \"assistant\", \"content\": \"It's called Jupiter, you may have heard of it...or not.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"Who painted the Mona Lisa?\"}, {\"role\": \"assistant\", \"content\": \"Oh, some obscure artist named Leonardo da Vinci. Not that he is famous or anything.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What's the boiling point of water?\"}, {\"role\": \"assistant\", \"content\": \"Exciting fact of the day: it's 100 degrees Celsius. Life-changing, isn't it?\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"Who wrote 'The Odyssey'?\"}, {\"role\": \"assistant\", \"content\": \"Oh, just some poet named Homer. Nothing special, really.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What is the largest mammal?\"}, {\"role\": \"assistant\", \"content\": \"Blue Whale. Quite a big fish isn't it? Oh wait, it's not a fish!\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What's the highest mountain peak?\"}, {\"role\": \"assistant\", \"content\": \"Everest. Brace yourself, it's not a walk in the park.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"Who invented the telephone?\"}, {\"role\": \"assistant\", \"content\": \"A guy named Alexander Graham Bell. Bet you didn't guess that one!\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What is the distance from Earth to the Sun?\"}, {\"role\": \"assistant\", \"content\": \"About 93 million miles. Just a quick drive, really.\"}]}"
+ ],
+ "metadata": {
+ "id": "1lFswb3E0SOA"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "%%writefile validation_set.jsonl\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What's the capital of Australia?\"}, {\"role\": \"assistant\", \"content\": \"It's Canberra, not Sydney. Shocking, I know!\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"Who wrote 'The Great Gatsby'?\"}, {\"role\": \"assistant\", \"content\": \"Some guy named F. Scott Fitzgerald. Ever heard of him?\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What's the deepest part of the ocean?\"}, {\"role\": \"assistant\", \"content\": \"Mariana Trench, makes your swimming pool seem a bit shallow, doesn't it?\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"Who composed the 'Moonlight Sonata'?\"}, {\"role\": \"assistant\", \"content\": \"Just a little-known guy named Beethoven. No big deal.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What are the colors of the rainbow?\"}, {\"role\": \"assistant\", \"content\": \"ROYGBIV. Red, orange, yellow, green, blue, indigo, violet. Not that we learned this in preschool or anything!\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What is the smallest planet?\"}, {\"role\": \"assistant\", \"content\": \"Meet Mercury, the runt of the solar system family.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"Who wrote 'Pride and Prejudice'?\"}, {\"role\": \"assistant\", \"content\": \"Do the words Jane Austen ring a bell? No? Well, she wrote it.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What's the largest desert?\"}, {\"role\": \"assistant\", \"content\": \"Antarctica. Surprise, surprise! Deserts aren't just full of sand, you know.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What is the longest river?\"}, {\"role\": \"assistant\", \"content\": \"The Nile River. It's not like it's famous or anything.\"}]}\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"Clippy is a factual chatbot that is also sarcastic.\"}, {\"role\": \"user\", \"content\": \"What's the capital of Germany?\"}, {\"role\": \"assistant\", \"content\": \"Berlin. Shocking news, right?\"}]}"
+ ],
+ "metadata": {
+ "id": "ZOnKRXBr0hSh"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Load and Validate our Datasets"
+ ],
+ "metadata": {
+ "id": "RrUVtJbH6QRR"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Load the training set\n",
+ "with open('training_set.jsonl', 'r', encoding='utf-8') as f:\n",
+ " training_dataset = [json.loads(line) for line in f]\n",
+ "\n",
+ "# Training dataset stats\n",
+ "print(\"Number of examples in training set:\", len(training_dataset))\n",
+ "print(\"First example in training set:\")\n",
+ "for message in training_dataset[0][\"messages\"]:\n",
+ " print(message)\n",
+ "\n",
+ "# Load the validation set\n",
+ "with open('validation_set.jsonl', 'r', encoding='utf-8') as f:\n",
+ " validation_dataset = [json.loads(line) for line in f]\n",
+ "\n",
+ "# Validation dataset stats\n",
+ "print(\"\\nNumber of examples in validation set:\", len(validation_dataset))\n",
+ "print(\"First example in validation set:\")\n",
+ "for message in validation_dataset[0][\"messages\"]:\n",
+ " print(message)"
+ ],
+ "metadata": {
+ "id": "IcRweEs_0orF"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "encoding = tiktoken.get_encoding(\"cl100k_base\") # default encoding used by gpt-4, turbo, and text-embedding-ada-002 models\n",
+ "\n",
+ "def num_tokens_from_messages(messages, tokens_per_message=3, tokens_per_name=1):\n",
+ " num_tokens = 0\n",
+ " for message in messages:\n",
+ " num_tokens += tokens_per_message\n",
+ " for key, value in message.items():\n",
+ " num_tokens += len(encoding.encode(value))\n",
+ " if key == \"name\":\n",
+ " num_tokens += tokens_per_name\n",
+ " num_tokens += 3\n",
+ " return num_tokens\n",
+ "\n",
+ "def num_assistant_tokens_from_messages(messages):\n",
+ " num_tokens = 0\n",
+ " for message in messages:\n",
+ " if message[\"role\"] == \"assistant\":\n",
+ " num_tokens += len(encoding.encode(message[\"content\"]))\n",
+ " return num_tokens\n",
+ "\n",
+ "def print_distribution(values, name):\n",
+ " print(f\"\\n#### Distribution of {name}:\")\n",
+ " print(f\"min / max: {min(values)}, {max(values)}\")\n",
+ " print(f\"mean / median: {np.mean(values)}, {np.median(values)}\")\n",
+ " print(f\"p5 / p95: {np.quantile(values, 0.1)}, {np.quantile(values, 0.9)}\")\n",
+ "\n",
+ "files = ['training_set.jsonl', 'validation_set.jsonl']\n",
+ "\n",
+ "for file in files:\n",
+ " print(f\"Processing file: {file}\")\n",
+ " with open(file, 'r', encoding='utf-8') as f:\n",
+ " dataset = [json.loads(line) for line in f]\n",
+ "\n",
+ " total_tokens = []\n",
+ " assistant_tokens = []\n",
+ "\n",
+ " for ex in dataset:\n",
+ " messages = ex.get(\"messages\", {})\n",
+ " total_tokens.append(num_tokens_from_messages(messages))\n",
+ " assistant_tokens.append(num_assistant_tokens_from_messages(messages))\n",
+ "\n",
+ " print_distribution(total_tokens, \"total tokens\")\n",
+ " print_distribution(assistant_tokens, \"assistant tokens\")\n",
+ " print('*' * 50)"
+ ],
+ "metadata": {
+ "id": "rrS0t-h40suH"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Begin our Finetuning on Azure!"
+ ],
+ "metadata": {
+ "id": "vinDQEtV6WKB"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Connect to Azure"
+ ],
+ "metadata": {
+ "id": "r5iCXKkP6Zkm"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Upload fine-tuning files\n",
+ "from openai import AzureOpenAI\n",
+ "\n",
+ "client = AzureOpenAI(\n",
+ " azure_endpoint = os.getenv(\"AZURE_OPENAI_ENDPOINT\"),\n",
+ " api_key=os.getenv(\"AZURE_OPENAI_KEY\"),\n",
+ " api_version=\"2023-12-01-preview\" # This API version or later is required to access fine-tuning for turbo/babbage-002/davinci-002\n",
+ ")"
+ ],
+ "metadata": {
+ "id": "KioZ9_Qe6fEU"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Upload our Validated Training Data"
+ ],
+ "metadata": {
+ "id": "p-WS1-Qs6goA"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "training_file_name = 'training_set.jsonl'\n",
+ "validation_file_name = 'validation_set.jsonl'\n",
+ "\n",
+ "# Upload the training and validation dataset files to Azure OpenAI with the SDK.\n",
+ "\n",
+ "training_response = client.files.create(\n",
+ " file=open(training_file_name, \"rb\"), purpose=\"fine-tune\"\n",
+ ")\n",
+ "training_file_id = training_response.id\n",
+ "\n",
+ "validation_response = client.files.create(\n",
+ " file=open(validation_file_name, \"rb\"), purpose=\"fine-tune\"\n",
+ ")\n",
+ "validation_file_id = validation_response.id\n",
+ "\n",
+ "print(\"Training file ID:\", training_file_id)\n",
+ "print(\"Validation file ID:\", validation_file_id)"
+ ],
+ "metadata": {
+ "id": "cIVfUF4S0uW-"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Run Fine-tuning!"
+ ],
+ "metadata": {
+ "id": "wnjC-ENd6lUf"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "response = client.fine_tuning.jobs.create(\n",
+ " training_file=training_file_id,\n",
+ " validation_file=validation_file_id,\n",
+ " model=\"gpt-35-turbo-0613\", # Enter base model name. Note that in Azure OpenAI the model name contains dashes and cannot contain dot/period characters.\n",
+ ")\n",
+ "\n",
+ "job_id = response.id\n",
+ "\n",
+ "# You can use the job ID to monitor the status of the fine-tuning job.\n",
+ "# The fine-tuning job will take some time to start and complete.\n",
+ "\n",
+ "print(\"Job ID:\", job_id)\n",
+ "print(response.model_dump_json(indent=2))"
+ ],
+ "metadata": {
+ "id": "CSMQBov-004I"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Sync metrics, data, and more with 2 lines of code!"
+ ],
+ "metadata": {
+ "id": "OrADYudw6oO_"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "wandb_project = \"Azure_Openai_Finetuning\""
+ ],
+ "metadata": {
+ "id": "YZegrNtR9ofY"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from wandb.integration.openai.fine_tuning import WandbLogger\n",
+ "\n",
+ "WandbLogger.sync(fine_tune_job_id=job_id, openai_client=client, project=wandb_project)"
+ ],
+ "metadata": {
+ "id": "ZtZTj_BE01cU"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "\n",
+ "> this takes a varying amount of time. Feel free to check the Azure service you set up to ensure the finetuning is running"
+ ],
+ "metadata": {
+ "id": "iaUYCvlm-z-I"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Logging the fine-tuning job to W&B is straight forward. The integration will automatically log the following to W&B:\n",
+ "\n",
+ "- training and validation metrics (if validation data is provided)\n",
+ "- log the training and validation data as W&B Tables for storage and versioning\n",
+ "- log the fine-tuned model's metadata.\n",
+ "\n",
+ "The integration automatically creates the DAG lineage between the data and the model.\n",
+ "\n",
+ "> You can call the `WandbLogger` with the job id. The cell will keep running till the fine-tuning job is not complete. Once the job's status is `succeeded`, the `WandbLogger` will log metrics and data to W&B. This way you don't have to wait for the fine-tune job to be completed to call `WandbLogger.sync`."
+ ],
+ "metadata": {
+ "id": "GPCr5RhZ-_ya"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Calling `WandbLogger.sync` without any id will log all un-synced fine-tuned jobs to W&B\n",
+ "\n",
+ "See the [OpenAI section](https://wandb.me/openai-docs) in the Weights & Biases documentation for full details of the integration"
+ ],
+ "metadata": {
+ "id": "E5A9db0A_Fay"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "The fine-tuning job is now successfully synced to Weights and Biases. Click on the URL above to open the [W&B run page](https://docs.wandb.ai/guides/app/pages/run-page). The following will be logged to W&B:\n",
+ "\n",
+ "#### Training and validation metrics\n",
+ "\n",
+ "![image.png](assets/metrics.png)\n",
+ "\n",
+ "#### Training and validation data as W&B Tables\n",
+ "\n",
+ "![image.png](assets/datatable.png)\n",
+ "\n",
+ "#### The data and model artifacts for version control (go to the overview tab)\n",
+ "\n",
+ "![image.png](assets/artifacts.png)\n",
+ "\n",
+ "#### The configuration and hyperparameters (go to the overview tab)\n",
+ "\n",
+ "![image.png](assets/configs.png)\n",
+ "\n",
+ "#### The data and model DAG\n",
+ "\n",
+ "![image.png](assets/dag.png)"
+ ],
+ "metadata": {
+ "id": "fNAzboPD_KP5"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Load the trained model for inference"
+ ],
+ "metadata": {
+ "id": "oSFBU9DB6tkJ"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Retrieve fine_tuned_model name\n",
+ "\n",
+ "response = client.fine_tuning.jobs.retrieve(job_id)\n",
+ "\n",
+ "print(response.model_dump_json(indent=2))\n",
+ "fine_tuned_model = response.fine_tuned_model"
+ ],
+ "metadata": {
+ "id": "g2z05Koa05Qx"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/colabs/openai/Fine_tune_OpenAI_with_Weights_and_Biases.ipynb b/colabs/openai/Fine_tune_OpenAI_with_Weights_and_Biases.ipynb
index a2ec1217..d99d40c8 100644
--- a/colabs/openai/Fine_tune_OpenAI_with_Weights_and_Biases.ipynb
+++ b/colabs/openai/Fine_tune_OpenAI_with_Weights_and_Biases.ipynb
@@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n",
+ "\n",
""
]
},
@@ -23,11 +23,17 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "If you use OpenAI's API to [fine-tune ChatGPT-3.5](https://platform.openai.com/docs/guides/fine-tuning), you can now use the W&B integration to track experiments, models, and datasets in your central dashboard.\n",
+ "If you use OpenAI's API to [fine-tune ChatGPT-3.5](https://platform.openai.com/docs/guides/fine-tuning), you can now use the `WandbLogger` integration to track experiments, models, and datasets in your central dashboard with just two lines of code:\n",
"\n",
- "All it takes is one line: `openai wandb sync`\n",
+ "```\n",
+ "from wandb.integration.openai.fine_tuning import WandbLogger\n",
"\n",
- "See the [OpenAI section](https://wandb.me/openai-docs) in the Weights & Biases documentation for full details of the integration"
+ "# Your fine-tuning logic\n",
+ "\n",
+ "WandbLogger.sync(id=fine_tune_job_id)\n",
+ "```\n",
+ "\n",
+ "See the [OpenAI section](https://wandb.me/openai-docs) in the Weights & Biases documentation for full details of the integration."
]
},
{
@@ -36,28 +42,24 @@
"metadata": {},
"outputs": [],
"source": [
- "!pip install -Uq openai tiktoken datasets tenacity wandb"
+ "!pip install -Uq openai tiktoken datasets tenacity"
]
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "# Remove once openai 0.28.1 release is made\n",
- "!pip uninstall -y openai -qq && pip install git+https://github.com/openai/openai-python -qqq"
+ "# Remove once this PR: https://github.com/wandb/wandb/pull/6498 is merged\n",
+ "!pip install git+https://github.com/wandb/wandb.git"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Optional: Fine-tune ChatGPT-3.5\n",
- "\n",
- "It's always more fun to experiment with your own projects so if you have already used the openai API to fine-tune an OpenAI model, just skip this section.\n",
- "\n",
- "Otherwise let's fine-tune ChatGPT-3.5 on a legal dataset!"
+ "In this colab notebook, we will be finetuning GPT 3.5 model on the [LegalBench](https://hazyresearch.stanford.edu/legalbench/) dataset. The notebook will show how to prepare and validate the dataset, upload it to OpenAI and setup a fine-tune job. Finally, the notebook shows how to use the `WandbLogger`."
]
},
{
@@ -73,10 +75,11 @@
"metadata": {},
"outputs": [],
"source": [
- "import openai\n",
+ "from openai import OpenAI\n",
"import wandb\n",
"\n",
"import os\n",
+ "import glob\n",
"import json\n",
"import random\n",
"import tiktoken\n",
@@ -92,7 +95,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Start your Weigths & Biases run. If you don't have an account you can sign up for one for free at www.wandb.ai"
+ "Initialize the OpenAI client\n",
+ "\n",
+ "You can add the api key to your environment variable by doing `os.environ['OPENAI_API_KEY'] = \"sk-....\"`."
]
},
{
@@ -101,14 +106,16 @@
"metadata": {},
"outputs": [],
"source": [
- "WANDB_PROJECT = \"OpenAI-Fine-Tune\""
+ "# Uncomment the line below and set your OpenAI API Key.\n",
+ "# os.environ['OPENAI_API_KEY'] = \"sk-....\" \n",
+ "client = OpenAI()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Set up your API key"
+ "Import the `WandbLogger`"
]
},
{
@@ -117,10 +124,9 @@
"metadata": {},
"outputs": [],
"source": [
- "# Enter credentials\n",
- "openai_key = \"YOUR_API_KEY\"\n",
+ "from wandb.integration.openai.fine_tuning import WandbLogger\n",
"\n",
- "openai.api_key = openai_key"
+ "WANDB_PROJECT = \"OpenAI-Fine-Tune\""
]
},
{
@@ -430,8 +436,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Log Data to Weights & Biases Artifacts\n",
- "Log our data to Weigths & Biases Artifacts for storage and versioning"
+ "Validate test data"
]
},
{
@@ -440,40 +445,31 @@
"metadata": {},
"outputs": [],
"source": [
- "wandb.init(\n",
- " project=WANDB_PROJECT,\n",
- " job_type=\"log-data\",\n",
- " config = {'n_train': n_train,\n",
- " 'n_valid': n_test})\n",
- "\n",
- "wandb.log_artifact(train_file_path,\n",
- " \"legalbench-contract_nli_explicit_identification-train\",\n",
- " type=\"train-data\")\n",
- "\n",
- "wandb.log_artifact(test_file_path,\n",
- " \"legalbench-contract_nli_explicit_identification-test\",\n",
- " type=\"test-data\")\n",
- "\n",
- "# keep entity (typically your wandb username) for reference of artifact later in this demo\n",
- "entity = wandb.run.entity\n",
- "\n",
- "wandb.finish()"
+ "openai_validate_data(test_file_path)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Create a fine-tuned model"
+ "## Upload the training and validation data to OpenAI\n",
+ "\n",
+ "We will first upload the data to OpenAI. This might take a few minutes depending on the size of your dataset."
]
},
{
- "cell_type": "markdown",
+ "cell_type": "code",
+ "execution_count": null,
"metadata": {},
+ "outputs": [],
"source": [
- "We'll now use OpenAI API to fine-tune ChatGPT-3.5\n",
+ "openai_train_file_info = client.files.create(\n",
+ " file=open(train_file_path, \"rb\"), purpose=\"fine-tune\"\n",
+ ")\n",
"\n",
- "Let's first download our training & validation files and save them to a folder called `my_data`. We will retrieve the `latest` version of the artifact, but it could also be `v0`, `v1` or any alias we associated with it"
+ "openai_valid_file_info = client.files.create(\n",
+ " file=open(test_file_path, \"rb\"), purpose=\"fine-tune\"\n",
+ ")"
]
},
{
@@ -482,43 +478,30 @@
"metadata": {},
"outputs": [],
"source": [
- "wandb.init(project=WANDB_PROJECT, job_type=\"finetune\")\n",
- "\n",
- "artifact_train = wandb.use_artifact(\n",
- " f'{entity}/{WANDB_PROJECT}/legalbench-contract_nli_explicit_identification-train:latest',\n",
- " type='train-data')\n",
- "train_file = artifact_train.get_path(train_file_path).download(\"my_data\")\n",
- "\n",
- "train_file"
+ "openai_train_file_info"
]
},
{
- "cell_type": "markdown",
+ "cell_type": "code",
+ "execution_count": null,
"metadata": {},
+ "outputs": [],
"source": [
- "Then we upload the training data to OpenAI. OpenAi has to process the data, so this will take a few minutes depending on the size of your dataset."
+ "openai_valid_file_info"
]
},
{
- "cell_type": "code",
- "execution_count": null,
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "openai_train_file_info = openai.File.create(\n",
- " file=open(train_file, \"rb\"),\n",
- " purpose='fine-tune'\n",
- ")\n",
- "\n",
- "# you may need to wait a couple of minutes for OpenAI to process the file\n",
- "openai_train_file_info"
+ "> Notice the unique ids for both training and validation data. OpenAI uses these ids to access the uploaded data to fine-tune GPT 3.5 on."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Time to train the model!"
+ "# Train the model and log to Weights & Biases"
]
},
{
@@ -544,15 +527,17 @@
"metadata": {},
"outputs": [],
"source": [
- "openai_ft_job_info = openai.FineTuningJob.create(\n",
- " training_file=openai_train_file_info[\"id\"],\n",
+ "openai_ft_job_info = client.fine_tuning.jobs.create(\n",
+ " training_file=openai_train_file_info.id,\n",
" model=model,\n",
- " hyperparameters={\"n_epochs\": n_epochs}\n",
+ " hyperparameters={\"n_epochs\": n_epochs},\n",
+ " validation_file=openai_valid_file_info.id\n",
")\n",
"\n",
- "ft_job_id = openai_ft_job_info[\"id\"]\n",
+ "ft_job_id = openai_ft_job_info.id\n",
"\n",
- "openai_ft_job_info"
+ "# Log to Weights and Biases\n",
+ "WandbLogger.sync(fine_tune_job_id=ft_job_id, project=WANDB_PROJECT)"
]
},
{
@@ -560,7 +545,7 @@
"metadata": {},
"source": [
"\n",
- "> this takes around 5 minutes to train, and you get an email from OpenAI when finished."
+ "> this takes around 5 minutes to train."
]
},
{
@@ -569,54 +554,84 @@
"source": [
"**Thats it!**\n",
"\n",
- "Now your model is training on OpenAI's machines. To get the current state of your fine-tuning job, run:"
+ "Now your model is training on OpenAI's machines."
]
},
{
- "cell_type": "code",
- "execution_count": null,
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "state = openai.FineTuningJob.retrieve(ft_job_id)\n",
- "state[\"status\"], state[\"trained_tokens\"], state[\"finished_at\"], state[\"fine_tuned_model\"]"
+ "Logging the fine-tuning job to W&B is straight forward. The integration will automatically log the following to W&B:\n",
+ "\n",
+ "- training and validation metrics (if validation data is provided)\n",
+ "- log the training and validation data as W&B Tables for storage and versioning\n",
+ "- log the fine-tuned model's metadata.\n",
+ "\n",
+ "The integration automatically creates the DAG lineage between the data and the model.\n",
+ "\n",
+ "> You can call the `WandbLogger` with the job id. The cell will keep running till the fine-tuning job is not complete. Once the job's status is `succeeded`, the `WandbLogger` will log metrics and data to W&B. This way you don't have to wait for the fine-tune job to be completed to call `WandbLogger.sync`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "Show recent events for our fine-tuning job"
+ "Calling `WandbLogger.sync` without any id will log all un-synced fine-tuned jobs to W&B\n",
+ "\n",
+ "See the [OpenAI section](https://wandb.me/openai-docs) in the Weights & Biases documentation for full details of the integration"
]
},
{
- "cell_type": "code",
- "execution_count": null,
+ "attachments": {},
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "openai.FineTuningJob.list_events(id=ft_job_id, limit=5)"
+ "The fine-tuning job is now successfully synced to Weights and Biases. Click on the URL above to open the [W&B run page](https://docs.wandb.ai/guides/app/pages/run-page). The following will be logged to W&B:\n",
+ "\n",
+ "#### Training and validation metrics\n",
+ "\n",
+ "![image.png](assets/metrics.png)\n",
+ "\n",
+ "#### Training and validation data as W&B Tables\n",
+ "\n",
+ "![image.png](assets/datatable.png)\n",
+ "\n",
+ "#### The data and model artifacts for version control (go to the overview tab)\n",
+ "\n",
+ "![image.png](assets/artifacts.png)\n",
+ "\n",
+ "#### The configuration and hyperparameters (go to the overview tab)\n",
+ "\n",
+ "![image.png](assets/configs.png)\n",
+ "\n",
+ "#### The data and model DAG\n",
+ "\n",
+ "![image.png](assets/dag.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "We can run a few different fine-tunes with different parameters or even with different datasets."
+ "## Run evalution and log the results"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Log OpenAI fine-tune jobs to Weights & Biases"
+ "The best way to evaluate a generative model is to explore sample predictions from your evaluation set.\n",
+ "\n",
+ "Let's generate a few inference samples and log them to W&B and see how the performance compares to a baseline ChatGPT-3.5 model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "We can log our fine-tunes with a simple command."
+ "We will be evaluating using the validation dataset. In the overview tab of the run page, find the \"validation_files\" in the Artifact Inputs section. Clicking on it will take you to the artifacts page. Copy the artifact URI (full name) as shown in the image below.\n",
+ "\n",
+ "![image](assets/select_artifact_uri.png)"
]
},
{
@@ -625,30 +640,24 @@
"metadata": {},
"outputs": [],
"source": [
- "!openai wandb sync --help"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Calling `openai wandb sync` will log all un-synced fine-tuned jobs to W&B\n",
+ "run = wandb.init(\n",
+ " project=WANDB_PROJECT,\n",
+ " job_type='eval'\n",
+ ")\n",
"\n",
- "Below we are just logging 1 job, passing:\n",
- "- our OpenAI key as an environment variable\n",
- "- the id of the fine-tune job we'd like to log\n",
- "- the W&B project of where to log it to\n",
+ "VALIDATION_FILE_ARTIFACT_URI = '//valid-file-*' # REPLACE THIS WITH YOUR OWN ARTIFACT URI\n",
"\n",
- "See the [OpenAI section](https://wandb.me/openai-docs) in the Weights & Biases documentation for full details of the integration"
+ "artifact_valid = run.use_artifact(\n",
+ " VALIDATION_FILE_ARTIFACT_URI,\n",
+ " type='validation_files'\n",
+ ")"
]
},
{
- "cell_type": "code",
- "execution_count": null,
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "!OPENAI_API_KEY={openai_key} openai wandb sync --id {ft_job_id} --project {WANDB_PROJECT}"
+ "The code snippet below, download the logged validation data and prepare a pandas dataframe from it."
]
},
{
@@ -657,34 +666,32 @@
"metadata": {},
"outputs": [],
"source": [
- "wandb.finish()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Our fine-tunes are now successfully synced to Weights & Biases.\n",
+ "artifact_valid_path = artifact_valid.download()\n",
+ "print(\"Downloaded the validation data at: \", artifact_valid_path)\n",
"\n",
- "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB20AAAOdCAYAAACmuflRAAAgAElEQVR4Aey9d5QU1f63+1vrXffPu9b9477rvu97fieYMAESZMg55yCIICAIBlAEEUTAAIIIHEyYA0FMiIoKGEBQjwGGIBg4oCISJKpHyQgI37u+NbN7dtdUh+qunq6ueXqtprsr7Nr17KfZNfOZveu//s9//114wgAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAH8uPAfwE+P+DhDnccwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAF1gNCWkcaMtMYBHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMijA4S2eYTPX07wlxM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAOEtoS2/NUEDuAADuAADuAADuAADuAADuAADuAADuAADuAADuAADuAADuAADuCATwcGVrlEXq9VJDsbNJE/G7dwnvpel+k6P2E8oa1P+H7gsi1/FYEDOIADOIADOIADOIADOIADOIADOIADOIADOIADOIADOIADOIAD0XKg7XlVZFVRA5EmLZM+dRvdNp32J7QltE1LlHRkYpto/YdDe9KeOIADOIADOIADOIADOIADOIADOIADOIADOIADOIADOIADOBDvgI6gPd24RdKw1g5zddt0Rt0S2hLaEtriAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA6kcEBHzfoJbE14q/ukGnFLaJsCPn89EP/XA/CABw7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gQGV0IJ0pkU1Q637VfZMxI7QltE0qSDJ5WMd/yDiAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAA4XuwN/Pu1iadRkkvW5+UK6Z+JZc/+BqGfbEN85zyANrpO9dS+TevuMST4m8U8oeO99NuF2yaZIJbQltCW1xAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwoNI5cEmtptJt2IMy5tl/y5jZm2XUs9/Krc98J7c+872MfPZ7GfHsVhnx7A8y4tltsm7gBO8w9t3SxPbdliKPbSgJb/V9k/LP12sVJWRMaMsXMKEchf5XEdSfv+zBARzAARzAARzAARzAARzAARzAARzAARzAARzAARzAARzAARzwcqDbkHtl9LObZcxzm+X2Od/K7XO/l1HPfScjntokNz9SLDfO/ESGPVwsI5/aJLc9t01+7dDbM4gVH6HtzgZNEuZyhLaEtgnl8BKYZfzHhgM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4UKgO1KjbTG5/cIlMfGGzjJ2zRSbM+1bueuF7GTfn33Ld5CXS7bpp0r7nTdKt903Sd8h4GTRihtx45zw507S1d2irI2pNcKvjbBOMstWRt382bpEwl8sotG3b5DzZ/U5N56nvs22UoMvLtj7sz380OIADOIADOIADOIADOIADOIADOIADOIADOIADOIADOIADOIADOBAtB+o16yQT56yXyS9/J5Ne/l7uX/iDPLFku0x+4Wu55vbnpH2PG6R5i87Sqmkb6d6xm/Tp2Ud69ugjva66Vs40beUd2jqB7RGRx1JPjxx4aDtz1MUia2o7T32frbBBl5dtfdg/Wl9A2pP2xAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwIHK7UCNus3lztkbZPz8rTL+hR/knpd/lAcWbZPHFn4hQ8bMkk7dBkjb5m2laf1G0rJhE2ndpJk0rldfql96qVxY5ULZ3ai5d2i74YiI7Cxd927JPW13vuu5beDTIwc9Mjbo8jL90p1zXhWpV7+R9LyytzRs3FTOr5J9IJ1pXdivcv/HQfvT/jiAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAzgQnAOjHlouk1/dIXe9vEPGv7RT7nz5R7l7znoZdvtD0q3rVdK3xxXSu317aV2/rjSpVUPqVbtUal14gVQ/9xy54C//WxZdVssziC2ZGtk10nbDU57bvl6rKOFg2IymR05XkLCEsanqW79hY5n5wAPyyiuvyMKFC2PPV199VR6ZNUtat22fEGCqslkf3JcJlrD040CPK3rJE08+KQsWLJDZc+bItYOvk7/89R98l7mPNw7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA5UMgd6DL5HZizaKTPe3CP3vrZb7l64WybM3yLD7pkvPbr2kWuv6iNDr+olt/XuIfcM7Ctj+/aSET26yMhunWVU1y4yrF0bmdmwoWcQq/eq1YG2sUeCUba63cAqlyR0L6ehbdinPdYAZ/CQ65yw9plnnpVrBl4rF11SzYGlo2x79uotjz76mLN+xMhRBD6V7AvsJyBk23AFyn369pPnnntO2rXv6Hyf9Q8zHn/8cbllxMiE/xnShuFqQ9qD9sABHMABHMABHMABHMABHMABHMABHMABHMABHMABHAjCgQsvqSljZr4p9y34Vu5/c49MXrRXJr2+W+546nMZOHiUXNGugwzs2klu7NhKHr9xoLw3daIsm3m/vDpxgjw7aoQ8PnSozBo8WB7of7XsaNk6cXCr4W2S56qiBkkzioxC22qXniOThl3kPPV9ImDpjrRNt7xEx8l0uY6809G1EybcKTo1slc5GuwOu+lmZ7vbRo/x3MZrv2yWaXD8+ONPyJjbxwZ+PC1zwDUDfZfbqXNXmTdvnuhrNucWhX2L6jWQ6dNnxAL+KJxTlM5B/+DiwQcfkr5X949ztVmLVs7yqtVqxC2P0rlzLlzA4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4EC8A606XiU3jZ8ldz75oUx+9QeZsmivTF64XW6b/oZ0addZGl5WTW7q3FoeHzpQXht7qywcfYu8MHKYvHz7KFkwfqzMHz1K5owYLo8PGSizu3WSM0mC2USh7enGLaRtgizStJfv0FYD1p+W1hRZU9t56vtkwa05UKLXoMtLdBz38gaNmsjs2XNkwp13pRxBq8HtmDG3y/z58ytkquRchbYaNs6dO9cJHN08Un1OFNpqCPzSSy+VC3M1GLanms5FAJ2qzoajXQ99n21dEp1zqvp4rdeysq2PV7lBLNN62ew0qDblqg/a7vZ62wPd1l5nv/c6X3dbqafqqzmen1ct66GHHi7npC7XemVarp86sG18hwgPeOAADuAADuAADuAADuAADuAADuAADuAADuAADuAADuTDgb+dc74MGDZBrr3lXrnxjkdk1MzFMumFb2Tqy5tl2Lgn5PLqNaTWBefKhN6d5ZU7hsuSu0fL4gm3yfL7Jsqqxx+Rzx57RJZPu1+W3DtRFt4xRh4b3F8WdGonf/oIbjWwTTYtsuHiO7TVEbYmsDWvuswU6Pc16PLSPb5Od/zc7NlyeVG9tOpuQqXJU6akDHnTrUOi7cyxvMKtRPvkerk7tDV11DDODuu0HhrY2qGbe99063pJ1erSvEUr+evfz02rjdzlmjraHE3YmMloY3f5QXzWENGuX7Zl/vffznGYVa2e+WhSw01He+t7Uye7rl5tqudht7vuZ8pKdo5e2+ix9GmO7edVyyO0pfP34wzb4gsO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAORNOBeo1by5ARE2Xg8Lul/7C7ZcAt98nQu56W0dNekUE3TZTLLrlEal94rgxt30Ievq6vLL77Vln1yP2yYsYUmTdquDw0qL88dM3VMrNfbxnftZ1c07S+DGhaX8Y1bSgbmzVLOh2yjrrVKZFTjbA17lXK0FanT33kkUfkrrvv8RUKDb9lhHOfzJq16vjaz8BO99UrxEp331xt5xXS6bESLbfrYc7Hb1CqAWTLVq2lVeu2GQW35rjuwDCbQNA+ryDe20FoEOVpGRdfWk26de8hmU4D7A7dverl1e5mJLfdzonawKtMe5mW4Q6N7fXJ3usxvULbZPuwLpqdMe1Ku+IADuAADuAADuAADuAADuAADuAADuAADuAADuBA5XagW69rZNhtU2TwLffItcMnyuBbJsl1t94nQ0dPlSuvvl4uPv88qXbO36Rng1oyfUBPeXPiKHnq1qFyS9cO0qv+5dKnXi25pVVjuaNjS7m63mVS//y/SpOL/yEtqleRek1ryh1tGsiy5o1lb7PmzujbM01byoHWLeSTbs1kXLu6vvJE36Gtn+mM07mnrZ/ygvpi6ejaOXPm+r636xU9r3RGErZq084XZL/1NkHXvZOnOMczU8vaYZiWqZ/NOn2115vQ6/obhjrbaACmoZq+2iGmhoamDDskM3Uw6zQE87qnrVd45z5frxGY7m0Sfc4muDXnYJ+vHscObXWdCU71XPW9bpOKrXtEqb29e+SxOaZhabeFWaavpp6J2iQRI6/l2QS3hodXuWaZV7sHFdqacgwPc0z7tX3HzjJ//gsxd22O7vePzJoVN2LYLof3lbuzpv1pfxzAARzAARzAARzAARzAARzAARzAARzAARzAARyItgNjxk+SKTOekLunzJIxdz8gt06YITePnSpDb5skPfsMkgvP/Ydc8Jf/T3o2rC2zhl0j0wf2kkHN60vLqhdInX/8RRqf/1cZ3LSeTO7TU7pdXlXO/Z//j9Q7/7+lc60LpW3bOtKyaz1p2KaGNOlQSzpd00CuGtlY+t7WSPqNaSqdr01vtl/joO/QVnfUoFWnNdanvjeFuV9njro4NpWyvnevN5/TLc9sn+2rCYXskDOdMr2CqnT287uNCRvtYNB9bK27HQ7qev1szsmEiCaE1DqYck0YptvYx9DP+jTb2SGu7mMfz5yTu15mub6a8NGug70+3feZBrfmPMz56vHcnHSdHZjqNsrAPlf3Pm5ubgb6+ZlnnondO1XP381Sy9Bj6Tq7fu6y9bPZNl1eZrtMglvDLNUx3eesx9TzsH3SZaY8+xxN/dyvhrPN3r2N+az1G3vHuIT/p5jtzB8q6KtZxmu0O2Dal/bFARzAARzAARzAARzAARzAARzAARzAARzAARzAARwwDjz7/FxZtPhdWfreClm4aKnMe/F1mfHQUzJqzN0ysG9/aXxZVTnnf/+/0rdFA3niliFyc+tG0qlaFWl8wd+l4Xl/k3aXnC9ju7SThePHyoQrukiri86RbjUvlmsa15YruzeS1l2KpKhZVanboqq07VNHrhrZSPqPbSxXj24iHQcW+comMgptzYmmek1npG2qMnKxvtplteSpp54Wne7YT/mDrh1SLpTys3+623oFXe5lGva5w1ANxkw4qKFWqgBNt/EKyLwCOa9lej6Jltvnmug49jap3pcEt22c+7X+5a//SKvdDDP3yEutjzmezcws88vWHbxqObpMj5OKj3vfIFiZ89DXiy+pJt17XCEXXnxp7Jzt9e73hpnNSOtoGOp73UfPS90xy/XV7ZtuZ8pLJ7Q1dTH7mGOZ5far1i+dMglt6Zhtb3iPDziAAziAAziAAziAAziAAziAAziAAziAAziAAzhQuRy4a9oEefS552TBordl6bvLZfE778mjTzwpo24aJhOu6i7DWzWU5lXPl5u6t5enbh4st7VtKtc3rS+Dm9SXIY3ryYiWjeXxa/vLJzOmyou33CSj2jSVsR1byrhubWTAlU2lVefLpW7zqlK3ZVVp0aOmdBxUR3oMrye9bmkgLa+skVY2Y5zMaWhrDhK2Vw39pk2fLg88+KD849wL0gKm+0yeMsW5F67eEzeX52RCK3copSGWPhOt1yDLBGf2e1NXr/3MqGMN3UxI5rVvovAx0XJzTPNq6m4++32tctEl0q1bD6nrY8Sk1/m6j+sObRPtYzOx35vt7fDSvNft7G3dx9bPysXdzl5t4rVvqmUadDds3EQ6d+km555fJW1nveqkx9J6GkfSbXfDxz5HfW8YmT8ycJ9LqvKVq12me3/zmdC2cnW+pt15pd1xAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAfUgY5Xt5VBo26R26dMlfsemiX3P/CgjBwzSob0vULu7d5aJndoIsNa1Zd7ruklc2+9Th68ppfM7N9bZvTtJVN6dJIp3TrKvKGDZcWkO+Xl4TfKvV3aydQrOsi0q7vKdVe3kNZdLncC26KWl0qDjtWkcffq0urqmtJp8OXSoMMlaWczWteMQtugR9AGXV46X8Q+ffvJiy++KD179U4LWIdOXWT+/Pmio23TKT+bbbyCLvcyrxBUQywTgnmFhe4y7Dra67wCM69lun+i5XbZ+t6rvu5tEn02ge3ldfzdsNk+p0Rl28zMNl51tbdzs9XtEwWIqfgk2zed+ps6u19NYNuxU+e0/zDBlOE+P7Ncz1Hrq59TnZfZJ9NzSFU+oS2drXGMV1zAARzAARzAARzAARzAARzAARzAARzAARzAARzAARxI5EDDDvXlyqEDZNDoEdJ/+E3S+9oB0rV3d+nTq5NM6N1JpnZtKVN6dZBpg66UuSMHypzhg+Sp6/vLQ317yKROrWVCu+YyvWdnefKaK+XBq7rK2NaN5c42jWRq73Zy/dXNpFXnWlKn2SVSo1EVqdX8Qqnb7hKp3/FSadajmtRqmt7AUVP3jELboO9Vm255ptJBvJ5zXhWZOvV+mT1njjRs3DRpEHtZzdry2GOPy8wHHhDdL4jjJyvDBF0mgNVtNTAzo2j1s4ZW9tTGGnLpZ11u1tvb6zJTrgkYdVuzva43YaXZzgR0Zp19PF2mT69wTcu36+6um9k3nddMA1st25yHOV+v47nrqtv4ZeveXsto0bK1w8fUwebRsVOXuPvd2pwTtYlX3RMtyyaw1TK96qzLjR/63qvdvepjykrWBmZksdtFm5m7bN02WZlme0ba0lEbF3jFBRzAARzAARzAARzAARzAARzAARzAARzAARzAARyofA40aFMkfW68UgbdOkT6DusrVw3pLr0GdJa+/bvJbddeJdP7dZdHB/WS6QN6yKNDrpBZA7vJtB6tZXzr+nJr0yIZ1qiOXFf3MhnesIbc2rxIbmpWJCOb1pa7uzaWgb0aSLMO1aV2k4ukWr3zpVqD86RGk/OlRqPzpUGbS6Vp6wqYHjmdkbHVLj1HflpaU2RNbeep73WZ1xcinfK89st2WdVqNeTRRx+TefPmiY68/evfz42rn06JfGXvPjJnzlxnOlcNbXWfbI+ban8TdN15192x+4Z6BaYaXJlpZvXVDr30farQ9pYRI51tTBl2SGaCNLNOt33mmWecsE7r7z62bmeOp4GlBmpmX32165bq/M3686tc5EyJXLN2nYyYG47Jwj1dZ5+3Obb7/Oz663tzrmZ7E0ybc7bXm3qYdeqb8tR97f00FE3WJuZYyV7V2UaNm0qHjp3l7+eclxE3U767De1wOejQtnmL1gldNPWxX7UNkrWr2ZbQtvJ1wKbteaXtcQAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAH6jSpLr0Ht5cBw7rL4Fu7yI1jOsmQkR1l0NDuMvSGPnLHNVfItP6dZMrVneWfA7rI+HZ1ZUzzmnJTw+pyQ8NaMqxpXbm5aZHc0qS2jGhWJMOa1ZWbml4u4zrVl369ipzQtmajKlK17nlyaZ1z5aKaf5Pqdc+Tbj0byzVXdfKV02Q00jYdyScNuygW2JrgVpels29FbqOB2r2Tp8irr74qzz//vDOaUEfg3j9tuhPW6nJd3+vKq2T+/Bec0bYVEdxWJIOwHuvc86rIRZdUDZ0zXqFtWBhqaKt+uv8AISz1C6oeV/cbIA8++JBcO3hI0ufNw2+RJ596Si4vqhc6j4JiQTlcdOAADuAADuAADuAADuAADuAADuAADuAADuAADuAADuCAtwOX1LhQuvRvIFfd0EyG3NZGbhzbRm4Y00oGj2gn/a/rIL36NJNBfRvL8F4t5N4rW8uYVrXltmY15eZGNaXf5ZfKkEY1ZXSHhjKua1O5vXNTGVDvMhnerI7c2bOpXNOvkbTqWlMub3Gx1GhaRS6tf65Uqfk3adC6mkwY3U96d+7gK5uo9KGtkbhBoyZy2+gxTsCjIyE16Bk3foLocrNN5y7dCG5Lp0U2TCrjq4a2XqNzKyOLfJ2zhtJX9LwyaWBrAt227fz9p5ivc+K43h0qXOCCAziAAziAAziAAziAAziAAziAAziAAziAAziAAziQqQN//fs/pEu/Iuk2oK5cdX1j6XdzY+k/vJH0v6mxDLyluQy+vaVcN66F3HxdCxnftbGMbV1Lbm9ZWya0bSTj2jSR29s0lTHtm8votk3k1hYNZHTLBjKxWwuZ0K+19BvYTNr2riNNul8mDTpdKnVaXyQ1W1SR9lfUlaem3Crn+7zlakahrU5zrKNm9ZloymM/0yNnCjof+xHcVt7/GOypjNOZmjcffnLMyusnbU/b4wAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4EB5B2o1ulja9qklna+5XLpeW0e6Dy6Sq4bWl2tHN5Ohd7aVm+5uLyNvaSvjujaU8W0ul7Gtasv4dg1kYscWMqVLW5ncpZVM7NRMJnVuKff1bCcTr2wjwwe2lJ4DG0n7/nWkw4DLpVXvGlKvw6VSr/2l0m9gS7n9uqtjg0LTbRPfoa2fMDadcFcrmq972qYLyb0dwW154d2M+AwjHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMCBfDvwt/P+Ic2uqC7t+teW9s6zpnQZXFN631TkTJk88s4eMm7UFXJnjyYyvk0dmdDmcpnQvr5M6tZK7u/VSWZc1VWm9e4s9/fqLPf17iy39mguPfsUSdfBdaXL4CLpO6yRXHVDA2nZ8zJp2vkyGXlzd6lXu1buQ9tc3Kt25qiLY/e/1ff5brx0jt+hUxfn/reX1axdEPVN55zYhv84cQAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHoubAZQ0vktZX15JWfWpKy6uqS5t+VaX9gOrSa0gjuem2HjJp9NUytW97uat9XRnfqpaMa11b7uzQSCb1aCtTr+zkhLdTrmgvY7u1kFYNL5ImnS+RdgNqyRU31JPrR7eUISNbSIc+taRd99rSq0vLjLJD3yNtcxHaFtpI26iJyvnwny8O4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4ECUHajb9hJpekU1aX5lVWnVt6q0uqqqdOhTW24c2klmTxwuswZ2kyldGssEDW2bVZc7mtWQsS0vl/Ft68s9HRvJXV0ayZA2teTCqv9LLm9zvrS6uoZceWNDuX5UaxkwtIm06XmZNGtTI6PAVrn7Dm39TI9MGMuXO8pfbs4Nv3EAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3CgMBz4x/nnSMMOlzojbdsOuEzaXF1drhhQT2ZOGCifPjZZ5t7YW2b0aCH3tC2S8c0vk3FNqsq4ptXkrtY1ZVLHOnJ31yLp376aXFj7/0hR+wulbb/a0vv6xtJvaDPp2r+ONGh3kZxz/rkVF9qqeOneq7YQpz3mi1UYXyzaiXbCARzAARzAARzAARzAARzAARzAARzAARzAARzAARzAARzAARzw48B5F50nrXvVli6DiqTPdQ1l8rjeUvzcffLt7H/KayMHyEM9W8vkDg3lzpa1ZVzT6jK+WXW5u01Nmdy5SO7qViR9O1WTmk3PkcZdq0rXaxpI7yHNpPvABtKsWzU5p8o5GQe2eg6+R9r6OXFG2vJF8eML2+ILDuAADuAADuAADuAADuAADuAADuAADuAADuAADuAADuAADuBALh248MIqckO/9vL4pCGyfu59svulWfLNY5Pk1eFXy8M9W8v9nRrJPW2KZHyLmjKuxWVyZ5taMqlTXZnQvZ7071kkzbpVldY9a0mPgU2l16AW0rxLbTnngsxH2JpzzWloaw7CK18uHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMCBsDgw9dp+sveVWfL9s1OleMYYmTekhzzQralM79RQ7utQT+5pe7nc06623NepSKb3aChT+jSXcSO7y4CbWkuPgQ2le/8mUq9JzaxG19osCG3/my+HLQTv8QEHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcKAyONCwRg2ZcUM/WTl5pDw9oJPM7NxIpndsIPd3rC9TOtaVKZ2KZFrXevLPKxrKA9e0k2f/OVzunNhXOnRvIBdcfEFgga2yJrQltA1UqMrwBeYc6ahwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwIDoOnHfu+dKuTk0Z0KCmjGpRR+5pW1emdKgr93Uskns71ZXR7YpkQPM60rpxHfn7OdnduzaRN4S2hLaEtjiAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAA3l0gNA2j/ATJeksj85fZtCWtCUO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4EAqBwhtCW35qwkcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwIE8OkBom0f4qRJ11vNXFziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAzgQfQcIbQlt+asJHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMCBPDpAaJtH+PxVRPT/KoI2po1xAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdSOUBoS2jLX03gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gALjKhzAAACAASURBVA7gAA7gAA7gAA7k0QFC2zzCT5Wos56/usABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMABHMCB6DtAaEtoy19N4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO5NEBQts8wuevIqL/VxG0MW2MAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziAAziQyoH/kog8vv7664icCacBAQhAAAI2Af3//eTJkzxhgAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4EFkHCG3tZID3EIAABCAQOgKEtgTWhPY4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4EHUHCG1DF09QIQhAAAIQsAkQ2nIxFvWLMc4Px3EAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AABwht7WSA9xCAAAQgEDoChLZcrHDBigM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gANRd4DQNnTxBBWCAAQgAAGbAKEtF2NRvxjj/HAcB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3CA0NZOBngPAQhAAAKhI0Boy8UKF6w4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4EHUHCG1DF09QIQhAAAIQsAkQ2nIxFvWLMc4Px3EAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AABwht7WSA9xCAAAQgEDoChLZcrHDBigM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gANRd4DQNnTxBBWCAAQgAAGbAKEtF2NRvxjj/HAcB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3CA0NZOBngPAQhAAAKhI0Boy8UKF6w4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4EHUHCG1DF09QIQhAAAIQsAkQ2nIxFvWLMc4Px3EAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AABwht7WSA9xCAAAQgEDoChLZcrHDBigM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gANRd4DQNnTxBBWCAAQgAAGbAKEtF2NRvxjj/HAcB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3CA0NZOBngPAQhAAAKhI0Boy8UKF6w4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4EHUHCG1DF09QIQhAAAIQsAkQ2nIxFvWLMc4Px3EAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AABwIPbf/44w/57rvvZNmyZfLqq6/KnDlznKe+12W6TrcJ+qG/1OcBAQhAAALRI0Boy8UKF6w4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4EHUHAgtt//zzT9mwYYPMnz9fVqxYIVu3bpWDBw/KqVOnnKe+12W6TrfRbXWfoB6EtkGRpBwIQAAC4SIQltD22LFj8uuvv8q+fftk7969PGGAAziAAziAAziAAziAAziAAziAAzgQOQf09x76+w/9PUjUwxHOr3IGgF9t/10GPvWN1BpfLNXvWM0TBo4L6oS6ke//FwIJbY8ePSqLFi2S5cuXy6FDh1L+tl+30W11H903iAehbRAUKQMCEIBA+AiEIbTVH1T0hxZ9PXv2bPggUSMIQAACEIAABCAAAQhAAAIQgAAEIBAAAf29h/17kHwHGBy/cgaruWp3DeUIawmqE4X16ka+g9usQ1sNXV966SX56quvfHcJuo/uG0RwS2jrGz87QAACECgIAmEIbc1fmBYEMCoJAQhAAAIQgAAEIAABCEAAAhCAAASyJKDBrf4+JFfhGeUSxubDAR1NmSiwYzlhrjqgjuTDTXPMrEJbnd5YR8tmEtiaPkP31TKynSqZ0NYQ5RUCEIBAtAiEIbTVUbaMsI2WV5wNBCAAAQhAAAIQgAAEIAABCEAAAokJ6O9B9PchJkjglZA1Cg4wypZgNlU4r47k0/WsQtuNGzc60xwn/q9d5Pjx4/Laa6/Jtm3bEm6mUyXrPW6zeRDaZkOPfSEAAQiEl0AYQlu9hy0PCEAAAhCAAAQgAAEIQAACEIAABCBQmQjo70PyGV5wbILioB1IFdixnlBXHQjaOz/lZRza/vHHHzJ//vyU97A9ePCgzJ49W3744YeE/Zne41bL0jIzfRDaZkqO/SAAAQiEmwChbbjbh9pBAAIQgAAEIAABCEAAAhCAAAQgEE0ChLaEpn7CpkLYllCWUDYdB/Lpcsah7XfffScrVqxIqzdKZ0pJLUvLzPRBaJspOfaDAAQgEG4ChLbhbh9qBwEIQAACEIAABCAAAQhAAAIQgEA0CRDaEtrmM7zKxbHTCezYhmA3F+6lW2bGoa1Oabx169akvdFvv/0mOoXy2rVrk26nK7WsZcuWpdwu0QaEtiVkjh49Kg/Pelx+SDIddSKGqZarVC++8kpOyk51bNZDAAKVlwChbeVte84cAhCAAAQgAAEIQAACEIAABCAAgfwRILQltE03aCqU7QhkCWTTcSCfPmcc2r766quiUx8neui9bNesWSMLFiyQVatWJdostlzL0jIzfRDalpBbu3adLH33vUwxptxPw2ANhTUc5gEBCBQmgdN//ikHDx2S3w8ezOh55MgRSWcGhaDoENoGRZJyIAABCEAAAhCAAAQgAAEIQAACEIBA+gQIbQlt8xle5eLY6QR2bEOwmwv30i0z49B2zpw5cvr06ZT/w7/++uspR+RqIVqWlpnpI6jQdv/+AzLl/uly25g7yj1zGYZmet72fslG2aoQOkpWz0uD3UQPU4Z9/vb2phx7WaKyWA4BCISPwIkTJ+ShWY/LsFtuzfh504hR8v7yDyrs5AhtKww1B4IABCAAAQhAAAIQgAAEIAABCEAAAjEChLaEtukGTe7tDh06JP/5z39EX93r8vmZQJZANh0H8uloVqHtqVOnYv+Be73RIPbZZ59NOiLX7KdlhSm0dYeSJszU4FMbLIwPrbNX/XR5ohDWPg8TWNvhtC575NHHRV/NI9FxzHpeIQCB8BLQ0bUzH57ljLA1tdz45Vcye+7z5mPKV7/bpywwxQaEtikAsRoCEIAABCAAAQhAAAIQgAAEIAABCOSAAKFt+EPbb7/91hk0Z0KmXbt2ObesNJ/z8bp582ZnVtX333/fedXP+aiH1zHTCezYhmDXy52KWpZxaJtqemTtI/bv3y/z5s1LaxrNsEyPbIJLd2ir56NTA2v4mYv7xWbbp6owGth61duUnezczP52YGv2c796BbnubfgMAQiEk0AuQtt9+/bJhx9+KL///ntOTprQNidYKRQCEIAABCAAAQhAAAIQgAAEIAABCCQlQGgb/tBWQ9qFCxfKN998Iz/++KMTkm7ZsiWvIemyZcvE1EFDZf1cUYFXquMQyBLIpuNAKo9yuT7j0Fa/aFu3bk36n/qmTZvknXfeSbqNWallaZmZPoKeHtkr/HSHnmb0rTvo1AbTANVebpZpuWY/M/rVa3SsOZbZRqds1mWJHqbMZIGyKTPZuSXb3xw7nWOZbXmFAATCRSAXoa3e31bvYf7uu+/mJLiNSmj7n99+k3998qnMmfe8PDt7jjw3Z54sfedd+Wn37rT+uClcJlEbCEAAAhCAAAQgAAEIQAACEIAABKJOoLKGthqAahCqA9fcT12+cePG0ISQmjtocKv1fOWVV+T777+vsLodP35cVq5cKfPnz5fXXntN9uzZI4cPH5alS5fKjh07nHroMv2doS7X97qdbq/76f65DL+8yk4nsGMbgl0vdypqWcah7XfffScrVqxI2i999NFH8vnnn8vPP//s/EeWbGMtS8vM9FERoa0ZaWtCTxNe2uGs1l8bL1FoqyHsw7Med4Jb3dZdpi7zCld1O69w1/DSfdzTGJt15tWrXLNOz8mul1nu9WrOz3Dw2oZlEIBAOAloaHvnPfdmfD9bcy9c93TKuQxuCz20PXPmjGzZ8q0sfP0N2frDNvmjdIr9P//8U/bs2SuLl77jhLmpbjkQTqOoFQQgAAEIQAACEIAABCAAAQhAAAJRJZCL0FbDO80N3njjDSdsNEFIouVmfUW9/vbbb/LWW285oaPek9X91DBSA9Lly5eLbltR9Up2HA1qNbB9+eWXKzRQ1kEcGtDqLKpffvmlc3wNYxctWhRjo+vefPNNJ6TV+ul2ukz30/2TnVcu1hHIEsim40Au3Eu3zIxD2z/++MP5iwi9kXSih85Zrve01f+E9ZfWiR5ahv51hZaZ6SPXoa0JPO1gM5PQ1h28akPpMnu5hqGpRta6OWmoa9fNvV4/m3PwCls1eNY66Dnpqxnha9fLLlO3d4fV9nreQwAC4SSQi5G25kxzFdwWemj7/fdb5Z1334v9sY7hZV41vC1es1bWf7EhaV9ptucVAhCAAAQgAAEIQAACEIAABCAAAQhUBIFchLYff/yxM/JSQ8b33nvPGW2pIy41BH377bflhRdekLVr11Z4mGcClWPHjjmzh2r93KNszWjWJUuWOPXVWUZ1e7NvPl51GuIFCxY4UyPrSNbXX39d1q9fXyF10plTdbZVc97qy6effipub/TzqlWr4pbrfvmYNjmdwI5tCHaN0/l4zTi01U5BpwHQ/0wTPU6fPi1HjhxJtDq2XL+cGzZsiH3O5E3Qoa0JLe1Xd5AaRGir56rhpx24mtG3fkLRIEJbHalrj9Y15+cV3BLaZmIp+0Ag/wRyGdrq2WlwW1xcLPpHO3rBHcSjkENbvXB/9/1lolMjJ3voHy0tW/5B0mnwk+1ftm6zrFy40JnCR6frWbhwsRTvL1tb4e/2F8vifNchg5PevHKhLFy5OYM92QUCEIAABCAAAQhAAAIQgAAEIBAdAu7wLdsAY//+/c5ISy1n9erVTiiqI1m/+OIL5/OJEyecW2/lY9pc+9z0+DqK1j3KVj/rcv09zoEDB5wRubrM3rei32/btk1++umnWB1+/fXX2P1kc12XzZs3OyGxzrTq51i6vYbLur+f/YLYtmID2R2y5kT8/wfb1hOIVmwbZMY7CNcyLSOr0FZHB+lQ96+++irePB+fdF8tQ8vK5hF0aGtGoypYDS29AlQTarrXee1jliUKQO3QVjno8U1g7LWPm1UQoa07lNZjmABZX+2HnnM69bL34T0EIJB/ArkObX///XfnryX1r+r0D3eCeBRyaPvjj9vl81Wr0xpBq//P6ojbZDNTJOdZEtguXmPd/3zLSlm4cKXkLX4ktE3eZKyFAAQgAAEIQAACEIAABCAAAQiEmEDQoa0dYvz444/OdLo6qjZf9ze16+P3vYa1OjI436Gt33oHvb0O3vDTfhqI660y9XeHQdclnfIqLjA8IE6i8vMBKTumLjsta5ZmFiSWlZN4/5nbTovEHTPxtumUl/9tSoLvig6703EpV9tkFdpqf6LB5UsvvZRRcKuBre6rZWT7yFVoq/VKFFzmMrQ1POzw1h0Om21MHd3Br71e36eaHtlr/0T7aF2S1cd9bD5DAALhIKCh7V2TJsu4u+6RCXdPcp63j7tTRo4eG/tslid61e3d97TVszOBrU53ElRgq+UWcmi7/osv5Ns079f+2++/yyeffpY5u3wHtF6KE9p6UWEZBCAAAQhAAAIQgAAEIAABCECgIAjkMrTV+5rqfW11pjC/IzVzFZb88ssvzn1W9Z62XlMj28t0+mSte2UObfW2l+vWrROdLlpnXDXtoqN9NZhVXvqqn806DW115lXdT/c3yyvqtaJCyEU/S17CU0LbYELqivLR6zhZh7bau2h4qaNldarkZPe4NT2RbqPb6j5BBLZabi5DWwWno0rdI0srIrQ1zDQg9RoJa9ZruGpPbWyW26+JAljdRoNpr/K99jE8zGhk+xi8hwAEwk1AQ9t/Pviw7Nz1k+h7fX62arU89cxzsc9meaJX3d4d2uYqsFWahRzarlm7Lu3Q9vffD8rKDz+SP06ezEwiJyBdKCu3pNi9dLuS6ZNd27vWLVxcLNa4XdFpg3UkrzN9sE6/bKYQdu8Xt1ynaLanbU4yZbNTzkrZ7CrPfU6x45dOBR23XsNrrXdcGeVHGx9Ys9iaRjp+fbnpkZ1AvGza6bjjpcDNaghAAAIQgAAEIAABCEAAAhCAQKESyGVoq+Gd3tNWg1sNcL3Ci4papr/X0iBRg1i95+7u3bs9p0bWgNY8d+3aFYrpkSuKkX0cDVxffPFFh5e2n7Iw6zWg1dD7yy+/dFjpq362g1vdXvdT3lqOTo9t9s/1a8WEtiWjbFONDtVg9/C2HeIEvPqfhBkhu/SQHLb+04gvp3QEb2z9cVl0hwaV5adilhOHZKazbrU4YW65fTwCzvXHxdlPX52HKT/+uFrvGEunvsdlUdJ6r5bqrvVxZdyx2uEQx+PIyTgOWh33PrE6lJ5nUJ9z7WGy8gMJbRWWTm+s96WdP3++89cTW7dudf6z1dFW+tT/eHWZ/mWFbqPbZjslcok0Jf/mMrTVI5jRtnZQqWC9wlwTdNojURNtq2Xrdl6jXO3zSxSqmm1MgKzbJXqYetnnYLY1+7vXeR3XbJvsWKZcXiEAgXAR0CB25sOznIDW1Gzjl1+VC2HNOq9X9/b6hzh6ka3ToWQ+ta/XkUqWFXJou+Xb72Tjl18mPjlrzd59++TTzz7Pqm+MhZmusDV2GCfItEPTkjC1JITU93Z4WX66ZVN+XGhZGo6WTcusoe7KknvpxoLTsnKdMpLWb2FJ6Fpa6ZJwtazO+rnsWCIl68vKFxOwxo5xQIoXWwGzlO4TWy9Ssk9ZGfGhrc1IK+XmFKPLGwhAAAIQgAAEIAABCEAAAhCAQKQI5DK03bRpk3OLLQ3u9uzZU2GhnTss0WPrH7ZrWHvs2LFYPfS93ivWLHN/1vC2Mk6PrOetIey+fftirGymGsC6pz7Wz4mCWS1n6dKlFRbcBxXqJS3HCTxTT4Nswtq4UNYJNu197QBYg1l7XWlQa8Le0uAzFv7aga0V4FZ36mfCWFdwa8Jaq8zqd9h1KAuIYwGqCWOtY5SExFZdS7cpO9eSMmNlmLqLSNk2eiz3sV31DTisNe1qO13R7wMLbU1vpDfh/u6775y/TNHh73PmzHGe+l7/WkXX6TZBP3Id2mrDaEDrDlfdI2A10DRBbqahre5nj+o1x7aXufmZbdyhq71dstBWt9N99T66Jow14ax9HrqdlpNqVK99XN5DAALhIZCr0Hbbtm1y9uzZnJxoIYe2eiG7fMXKlP2eht2rVhfH/v/NCqQJLZ1RqGVBpJapYaQdeOoyJ/Q0I2NdB44PL0v2j42uLd3WvU1cEeVC4vIBacrtpSR0ddc7tp/7GM75x5+3c46xkFZD17IQuKSckmOYMDrunNzlxw7MGwhAAAIQgAAEIAABCEAAAhCAQLQJ5Cq01emQdXCXlq+5gY7G1N9v6+hb/R2TvurnXD+1Hq+//rps3Lgx7lg6QEEDWR0NqgMVdECaGRWsy3V9ZQ9t7ZGzdjutXr1a9JlqmVmv5SjT3377LW4fsz7oVxPK5fQ1WShqhYxeUyib0bd2/ZJNeeyss8LS8mVq6GmFp87xk9wn1qPunsfX7cxxywXN5YPd8vVaLe7w2HMbQtvC7WRyHdoqGQ0zNdS0w1P9T0M/63J9mlBXg0477DTb2fsa2rqd2U+DUv0LHrtM9zHNfu5XDV3d5Zug1tTPfvWaDtmco9nOKwT2Oo67LnyGAATCSeDw4SMyeer0rO9p+/KChRV2goUc2powdv0XG5KOQt6zZ68s+2BFynDXF/Ryo1xLR5yWTilspkd2Xu3QNrZf6XTAsbDTK7T1GajqCXiEqrHz8gxIS+tt17E0gLbPwQSuXuXHhbbu87N4mDLiQlsTbHuE4LF68wYCEIAABCAAAQhAAAIQgAAEIBBBAkGGtmvWrJEFCxbIjz/+6ASgO3bscMJZDUN15KaOeNXRrt98802FhHcaDGtw7A4Y9ff4GiDqrR3Xrl0bq5vWUT/rcl1f0aGt3jNWj+sn0NbRwbqPDqILKvzUMk2b6ax7P/zwQ2w0sh5D21cZ7d+/3zmmvupnXW7qoGXofrq/cl25cqWv8zLlZPJqh6E5e+8En+6gtPwI0fIhpccUx+b/FY+Rr2aVSNmo2XJlmlGwZRvH3sWPaC2tn0do65QZ28t6k0ZoWzLqt+S87FG1DntX2Fuu7k7AzEhbi3hhvQ0qtC2ss46vrRkZa0bKxq8N5pP+R6jBsFeYG8wRKAUCEMg1AR1t+8WGjbJ2/RcZPTf9e7NzkZXrepryCzm01XM4pvdoWbZc9P62ersA+/HnmTPOPW+ff+FFWV28Jqupke1yy97bU/va78u2KHtnQt2yUahxYacJSuPC05Iy0x4FqwfLMLSNHcOMJI7Vw3VeHuXHnYfH+jIGJe/coa1Z75Sj4a0VZJt1vEIAAhCAAAQgAAEIQAACEIAABKJGIMjQVqfH1dsmvvzyy6JTI5vAbfPmzfLCCy84y7ds2RJbbtbn6lVDRB3hmeh+urr+ww8/jIWN7s8VGdrqaFQd9aujgtMNOM0+r732mnz00UeBctXgWEN3vbftkiVLZPny5XHl68hpnfZaQ3p9NSOptS11X52RVffT/bWcIEPlVL7kLKi1RtCae7d6hqLWduVDytQBpQlQY2W7QtZyZbrWpzz/ctsnCFyt8yg5X3dIbe9Xcl7eoW3ZdMjl6k5oW9hdCqFtSftpmGqP8A26VTUQNqOCgy6b8iAAAQh4ESj00FbPSS8Yi9eslRdffkU++vhfoiNvP/t8lfNZp0/WC31drtsEeb/3kvuvlk2JnCiMdLh7hJlxYadnaOs1+tZqRa+Rsx7Hie3htb1zD9mFUjIK1mtkr8/QNq682JHj3iTl5FnHuN35AAEIQAACEIAABCAAAQhAAAIQiASBIENb/d2IjhbVpztY0+mG/Ywgde+fyWe9z6qGhpnsq/tUZGiro5B1tKqORH733XfjRrYmqv+uXbucoNfPPonKSrZcb4epAay7XbU9vUYG63a6ve6XrNxcrUsZWtphZBbvvQPI+NG2Xtt4LYvV2TUy1VnuClnL7586CI6Vr+frKk/Xuadgjtte9/Gql2ta4/L1Kn8sz21c5ZQ7dhZtlKysXPmXTrmB39M2X70RoW0J+VyOtlWhdJRtLkfy5ssfjgsBCISXQBRCW0P35MlTsnffPtmxc6fs3bvPucguW3cyq+DWCRoXetzL1V5WOjVwbNSqHnzLZtnsvK6Uhfa9Xp1wNX5UqWeY6VHm5jXFckDL9Ao4U4a2C8W+b65zzNjIVvdUyWZ0sAl1vUfyusPnkhGzZSOKtaqbtzgU9K1z799YHfQcYqN6vct3duIfCEAAAhCAAAQgAAEIQAACEIBAxAgEHdqmE1hUxDYaHC5evNgZBar31M3kqSNI9bZNGt5WRJ31vrsaduqtFdM9nk41vXTpUl/7pFu2bqf3BH7zzTdl+/btaddJ99PtdT/d38/xgtg2WVAX7LqSsLRkemAT1sYHqJ4hZel0xnGjUtcfkEWxcLRsZKoZ0WtPj+wVsDrLXPe1XbT+gHier0doW700OI07l6UHZNHS0vMqrbO93jk3M32yV91Ly7TP05PHHfaIXcMx969BuJZpGYS2EetIOR0IQAACUSMQpdA2VdtoZ57piNsD+0Vi0/fG7tMaH+I6xy8NWWP3g128WIq3lNSsJPgtvZetBpUasMYCU1eYaZ9MuTJXyub9mYa2i6V4jQbIpfWwQ2c9ZtyxNHgtCW7N/Wi9pl92h7ZajJvV4sXFJeG1tU7D7QNbNkvxSlMXfY0Pe20MvIcABCAAAQhAAAIQgAAEIAABCESJQD5DW50y9/vvvxcdhZtp+JFoP50SWUNbnZpXQ9dMnlu3bnVGslZUaJvoXPK5/IMPPoi7J7C2WaLppnW5PQ2y3ktY96/o+nsGlTkarVm9NHC0/0/QaY1nLt3hBKbeIaUZuWrtdeK0rFlfElSWBLCl6zQUdQLTsnvaxgJWZ5Oy5XH7icjhE4dKgmD3uXuGtnrs0hA6Vq3Tsm19yXnERtpuOx5bawfJMeYm3C3dyg5sdZuEPJw6le4Ud2/f3IW3Fe2lfTxCW0sj3kIAAhCAQPgIVKbQVulrJ/3xvz6R3Xv2hK8xcl0jJ5AlFM01ZsqHAAQgAAEIQAACEIAABCAAAQikQyCfoa1Or6tT++ro0qCDWw1a9Y/FdbRsJqNsdZ8XX3xRiouLcxY6ah23bduWcNpoDUF1/bFjx3JWBztI8nqv9/zV8FXX6T10ta30nsU6utdMl6z1e+edd5zlul630+11P93fq9xcLosFiO6wks/eI2/T4eKEse572uYuUK2INsylg6nKJrRNp3diGwhAAAIQyBuByhba5g10GA5MaBuGVqAOEIAABCAAAQhAAAIQgAAEIAABh0C2oe1HH32UcSiqwaiGqvPnz3fCQBMCpgo80lmvIz71fquZjLA1+wQdJNv11rq98cYbTtC5YsWKcsGtBp+6XvkoY3vfinyv0xu//vrrTvssWLBAdApnrftbb73ljGLWupgwV5fret1Ow1vdL9rTIxd2aOkrGCW0DfQ7SGhLBwwBCEAAAqEmQGgb6uYJtnKEtsHypDQIQAACEIAABCAAAQhAAAIQgEAWBLINbTXYNCFnJq9ffvmlE/LpNMkVGUbm+1h79uyRt99+W/71r395Bta7du1yQttPP/1U3nvvvbyOttU23rJli+zfv99pIx0hvWzZMmcUsHLU0cB2HXU73T6XoXey9vMVRqYzypRtJDY9srnHbQSYJHMo1+sIbbPotNgVAhCAAARyT4DQNveMOQIEIAABCEAAAhCAAAQgAAEIQAACEHATyDa0zSbc0JG1Gv79+OOPlSqwNcw2b97sTB+8b98+z/NPtd6Uk4/Xzz77zAlqN23a5Lzq53zUw+uYhLaVzTkHtAAAIABJREFUaARwFuGxlzsVtYzQ1t0T8RkCEIAABEJFgNA2VM1BZSAAAQhAAAIQgAAEIAABCEAAAhCoJATyGdpWVEDCcU4GHqgePnzYGSWs9w3W0cL6OSycCW0JbdNxIJ++EtpWkg6W04QABCBQqAQIbQu15ag3BCAAAQhAAAIQgAAEIAABCEAAAoVMgNA2+EAzn2EQxz4p6QR2bEOwm8/vCqFtIfea1B0CEIBAJSBAaFsJGplThAAEIAABCEAAAhCAAAQgAAEIQCB0BAhtCW3zGV7l4tgEsgSy6TiQC/fSLZPQNnRdIRWCAAQgAAGbAKGtTYP3EIAABCAAAQhAAAIQgAAEIAABCECgYggQ2hLaphs0Fcp26QR2bEOwm0+fCW0rpn/jKBCAAAQgkCEBQtsMwbEbBCAAAQhAAAIQgAAEIAABCEAAAhDIggChLaFtPsOrXBybQJZANh0HcuFeumUS2mbRabErBCAAAQjkngChbe4ZcwQIQAACEIAABCAAAQhAAAIQgAAEIOAmQGhLaJtu0FQo26UT2LENwW4+ff6vKAno7lT4DAEIQAAChU8gDKHtvn375OzZs4UPkzOAAAQgAAEIQAACEIAABCAAAQhAAAJpENDfg+jvQ/IZXnBsQuOgHag1vliilIlxLsEHzOpI0N75KY/QNo0Oik0gAAEIQCB/BMIQ2v76669y7Nix/EHgyBCAAAQgAAEIQAACEIAABCAAAQhAoAIJ6O9B9PchfsIGtiVkDbsDA5/6htD2juCDziiFx+pIPj0mtK3Ajo5DQQACEICAfwJhCG31BxX961J9ZcSt/zZkDwhAAAIQgAAEIAABCEAAAhCAAAQKg4D+3sP+PUg+wwuOTQgctANfbf9dGG1LaJsoZFY31JGgvfNTHqFtYfSV1BICEIBApSUQhtBWO1bzF6Ya3uo9XXjCAAdwAAdwAAdwAAdwAAdwAAdwAAdwIGoO6O89zIxjfoIGtiVgLRQHNJTT0ZSEt4S3JrxVF9SJfAe2+h0itK20MQgnDgEIQKAwCIQltC2UC0/qyQ9JOIADOIADOIADOIADOIADOIADOIADOIADOIADOFB4DhDaFkZmQS0hAAEIVFoChLaFd3HBBSFthgM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAP+HCC0dcUgx48flx07dsimTZtEgwKeMMCBzB3Q75F+n/R7xQMCmRIgtPXXsXMhBC8cwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcKDwHCG2tFEGDJQ2ZdM7+M2fOWGt4CwEIZEJAv0f6fdLvFcFtJgTZRwkQ2hbexQUXhLQZDuAADuAADuAADuAADuAADuAADuAADuAADuAADvhzgNDWykR0RKAGTDwgAIFgCej3Sr9fPCCQCQFCW38dOxdC8MIBHMABHMABHMABHMABHMABHMABHMABHMABHMCBwnOA0NZKEHQ0ICNsLSC8hUBABPR7pd8vHhDIhAChbeFdXHBBSJvhAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7ggD8HCG2tBEGDAR4QgEBuCPD9yg3XylAqoa2/jp0LIXjhAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gQOE5QGhrJR6EShYM3kIgYAJ8vwIGWomKI7QtvIsLLghpMxzAARzAARzAARzAARzAARzAARzAARzAARzAARzw5wChrRV8ECpZMHgLgYAJ8P0KGGglKo7Q1l/HzoUQvHAAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3Cg8BwgtLWCj0xCJb1X56HDh2X7jh3y+8GDcvr0aatE3kIAAoZAJt8vsy+vlZsAoW3hXVxwQUib4QAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4IA/BwhtrSzET6h06NBheemVBTL05hEyYNCQ2HPw9TfKc3Pmyc8//2yVzFsIQMDP9wtaELAJENr669i5EIIXDuAADuAADuAADuAADuAADuAADuAADuAADuAADhSeA4S2VjKQTqh09uxZ2fTvzTJ85Ch54OFHZMu334qKrw8dZbtjx055dvYcuXnEKCles1Z0ex4QiBKBP/48IyfPnPF9Sul8v3wXyg6VggChbeFdXHBBSJvhAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7ggD8HCG2tyCOdUEkDWw1kV6z8UHRqZK+HBrUbNmx0tvvs81Vem7AMAgVLYMDH6+TeDZt91z+d75fvQtmhUhAgtPXXsXMhBC8cwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcwAEcKDwH8hraDpu7RfYdPOk89X31O1Zn9cw2vUgVKh08eEimTpshy1esTDmCVoPbTz79VCbcPVEOHDiQbdXYHwJ5I6Cjap/7drvsOHLMqUOfD9fEQtuv/3NQXv5hl6QznjzV9ytvJ8iBQ0+A0LbwLi64IKTNcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcMCfA3kNbTWwHfDkJuep78Me2up0x9NmzJSjR4+mFXKojE8+/YwsXrI0ZcibVoFsBIE8ENDQdvKGLfI/X1jivHZdvkrGr9skE9Ztkv/14lIntE2nWoS26VBiGy8ChLb+OnYuhOCFAziAAziAAziAAziAAziAAziAAziAAziAAziAA4XnQF5D2/0FFNrq/WrnzJsvy5av8MoUEi5bu269TJ/5gBw9VjJKMeGGrIBAyAnoqNrL31wp/+O5N+T/mr1IOi/7PDb6Np2qE9qmQ4ltvAgQ2hbexQUXhLQZDuAADuAADuAADuAADuAADuAADuAADuAADuAADvhzIK+h7bpth+TIiT8LYnpkHV07Zeo02fLtd16ZQsJlO3bukkmT75Nffvkl4TasgEAhEPj1j5PS/YNVTmD7f897yxl1e+z0n2lXndA2bVRs6CJAaOuvY+dCCF44gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4gAM4UHgOBB7adpixQTb9dFQOnzgts5btSjjl8f2Lt8vXu45IzfHFCbfxO12y6/f8vj8mC5UOHznihK9+Q9s9e/bKxMlTRF95QKAQCfx59qzM+36HMxXyjZ9tkE7LPpfbir+SIZ98IVUWvi8r9qR3z+Zk369C5EKdK44AoW3hXVxwQUib4QAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4IA/BwIPbZds+EUeeX+XNJ+yXg4cOikd/7mxXCjb8+Gv5D9HTokGvH6D2WTbZxshJAuVTpw4IQ/Pekx0umM/j03/3uyEvRr68oBAIRI4dOqUTNqwWXR6ZH30+XCN3Lths5wVkZV7DsiTm7c571OdW7LvV6p9WV+5CRDa+uvYuRCCFw7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA4UngOBh7ZLN8aHtjOW7JDLxq2OhbNFd62RbQeOyx0LtsaWJQti/azLNtZIFiqdPXtWFr6+SF548WU5c+ZMWofSfRYvWercC1fvicsDAlEgYEJbv+eS7Pvltyy2r1wECG0L7+KCC0LaDAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAf8ORB8aLvhF/n1yCk5dPy0vPjZPtn00xHnqe912S+HT8k7G38JPLDVcDfbR6pQ6YcffpDb75ggO3bsTOtQe/bukwl3TxQdbcsDAlEhsPPIMTlw/A/fp5Pq++W7QHaoNAQIbf117FwIwQsHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHCs+BQEPbsa9slR9/Pi46mtaMkNVRtjraVqdK1imT9T63OhrXrA/yNdsEI1WopCNsF735tkydNkN+P1gyVWyiYx4/flyefvY5efHlV9IemZuoLJZDIAoEUn2/onCOnENuCBDaFt7FBReEtBkO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO+HMgsNC2/fQNzn1qez3ydblAVu9ra4e2et/bIMNaU1a2cUE6oZLe2/bp52bLxMlTREfeuqdK1imRf9y+Xe67f7oMGDREXnzpFdF9eECgshNI5/tV2Rlx/t4ECG39dexcCMELB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AABwrPgUBC25rji+XrXUdk2uLtCcNYHWF7+MRp2fTTUekwY0PC7UwAm8mr96/701+abqh06tQp5161g6+/Ue6eNFlefe11ZwTua2+86YS1ulzvZavh7bgJdxPcpt8EbJlnAn+ePSsf7f3Zeer7IB/pfr+CPCZlRYMAoW3hXVxwQUib4QAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4IA/B7IKbYfN3SL7Dp6UIyf+lHXbDuUkiPUT3mYbT/gNlQ4ePCSffb5KHn3sCWfkrb5++NHHosvNY/eePQS3BgavoScwbu038j+ee8N56vsgH36/X0Eem7IKmwChrb+OnQsheOEADuAADuAADuAADuAADuAADuAADuAADuAADuBA4TmQVWirge2AJzc5z/0HT1a60DbdGITgNl1SbJdvAgM+XhcLbfV9kA9C2yBpVq6yCG0L7+KCC0LaDAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAe8HVi3bp0sWrRIFi5cyDMkDLQ9tF3y7Wxgoa0GuH5GxeZi22xjjFyGSgS32bYO+1cEgfW//CbV3vjAeer7IB+5/H4FWU/KCh8BQlvvi7t8X0BwfNoFB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB/w5oMFgcXGxHDlyJO8BIW1X1nbaHtou+Q5uswptzfTIGtjq+1wEsX7KzDZqyHWotHffPlmw8DU5dux4tlVlfwgUHIFcf78KDggVTpsAoW3ZxQMXUrDAARzAARzAARzAARzAARzAARzAARzAARzAgcJ1QEd0EtiGs/20XbR98vn9yiq09ROoVsS2aScACTYkVEoAhsUQCIAA368AIFbSIghtw3kRk8+LF46NEziAAziAAziAAziAAziAAziAAziAAziAA4XogE6JXIj1rix1znf7ENpaIQihkgWDtxAImADfr4CBVqLiCG25AK8sF4WcJ67jAA7gAA7gAA7gAA7gAA7gAA7gAA7gQLQdyHcoiF/J/cp3+2QV2u785URgscGOX05kPb1ytpUhVMqWIPtDIDEBvl+J2bAmOQFC2+QXElxowQcHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHCsOBfIeCeJLck3y3T1ahbUVMeeznGMl/7Z96LaFSakZsAYFMCfD9ypQc+xHaJr+Q4EILPjiAAziAAziAAziAAziAAziAAziAAziAAzhQGA7kOxTEk+Se5Lt9CG2tPGTTpk1y5swZawlvIQCBIAjo90q/XzwgkAkBQtvkFxJBXmidOHFCjh8/LseOHZOjR4/GnvpZl+v6II9HWRXXtrCGNQ7gAA7gAA7gAA7gAA7gAA7gAA7gAA7k34F8h4I4kNyBfLcPoa2VIOzYsUN+/fVXawlvIQCBIAjo90q/XzwgkAkBQtvkFxJBXGhpGOsOau3Q1n6v2xHe5r5NgmhXyqCdcAAHcAAHcAAHcAAHcAAHcAAHcAAHcCBcDuQ7FMSH5D7ku30Iba0EQUcR6WhADZgYcWuB4S0EMiSg3yP9Pun3Sr9fPCCQCQFC2+QXEtleaOl30w5l032v+2V7bPbPbdvCF744gAM4gAM4gAM4gAM4gAM4gAM4gAM4EC4HggoF33rrLdm8eTO/nzsZbPsG1T6Zfu8IbV0Jgv4SWkcEasikQQFPGOBA5g7o90i/TwS2rv9o+OiLAKFtsBce9gVDpoGtCXYJbnPXNnY78R7OOIADOIADOIADOIADOIADOIADOIADOBANB4IKBefPny8bNmwgtCW0XS3V7wjn01cKwMYQgAAEIFAQBMIW2n4xq7EUNSh7jnhrX9nF0fpZUtRglnwR8MVCLi7KdYpjE75m88pUydH4gSEXjlEmbuAADuAADuAADuAADuAADuAADuAADuBAvAOFGtrufn+GjHl+Y9nvQV2//0y1vqI9yLQ+QbVPpufLSNuCiCyoJAQgAIHKSyA8oe0+eePWxlJ061uyL3ZRUrLswfWlF185DG33vTVaimYlvjDyeyGQ7j1sUwW6Wo7fY7N9/MU6POCBAziAAziAAziAAziAAziAAziAAziAA5XDgaBCwaBG2jrh5pgZsmx3cv6pQtDE63fLshljZMwY+5n6eNl+HxLXJ/l5BtU+mdaf0Lby5iCcOQQgAIGCIBCW0NYJTeMCW48OvkBC25SjbHe8IcNjo4lHycIdR5OOymW0rYcLsWCfdZlepLIf7uAADuAADuAADuAADuAADuAADuAADkTNgaBCwWBCWw1UZ8jc52fIjPd3Jx2YkSoETby+JLSdu9FyeeNcGTNmrmzM4e/PEtfHqofH8YNqn0y9JbQtiMiCSkIAAhCovATCEdqWjKiNmwrZo1M/aULb3W/JiFjo6Z4ueaM8GFun0yy71msZGg47Zen6GTJLR/ja+8TCY1dZaY7ETX4v259k4YjGMrO4NKh1AtyHZe3RxMEt97ZNfrGX6UUa+8EVB3AAB3AAB3AAB3AAB3AAB3AAB3AAB6LlQFChYCCh7e5lMmPGMtltXuN+37lR5sZGx5YEu/HTI6dab9rNI7Q9qfua0baukbjWFMwavM54f2PcSN248Pdk/L72OkLbENzntvJGGpw5BCAAgegSyCa01al7v/nmG0k2ElTX6TZJL4BLQ9jYNMhxFzDmAuSklIS29hTKpVMqx8JU/Txa3ohNN+Jeb5UR26ekfOdeuimW6TYp63jypCSfGnmdzGxgj67Vz8lDW6ZIthxI5AbLk3/H4AMfHMABHMABHMABHMABHMABHMABHMCBSuCAn9BWB0r8+uuv8ssvv5R7zp49Wz777LNyy3Xb3377Tf7444+UPpWEojrCVsNPE6Lq77lKw9BYgOr3s/27spJ9ywWqpSNtNz5vHVfD41iYe1Kc4NX9WUNmx5OScstGCGsQXDZ6l9CW0Da6iQlnBgEIQCCPBLIJbY8cOSJLliyR4uJiz+BWA9vVq1fL0qVLk1/EOKGtHbbaFx7WezPS1rrATDWtcrn1HmVooFw+tE1z9K9VFxNMp7pP7dHih0tG9j60TtY+1FiKHlqXdHpkLc+Uzavlgwd7+MAHB3AAB3AAB3AAB3AAB3AAB3AAB3AAByqvA35C2++//16mTZsmU6ZMKfccP368TJw4sdxy3fbpp5+WgwcPpvh9nYae8SFnLAB1wtOydeprXAiaan3c78RKA9/YqF29t2182WXfh/iAN+6YWqZ9XH0fC3BLfNr4/Bgx4XC5fePqlNg/P+1TVu/E5fndhumR8xhEcGgIQAACEEhNIJvQVv+ibNeuXbJ48eJywa0JbDXU3b07+T0bTvoaaRs/3XG5UNa5QHBNa2xPkZx2aKsXKmXTMKczwtZcJKQKbXe9McqajtkedZt4imRTNq/BXaTBEpY4gAM4gAM4gAM4gAM4gAM4gAM4gAM4EC0HggoFs54e2QlANUC1niYE1XvOmvelYWdcCJpqfVxAGh/Eevrs3OO2rB4Jg1c7tHXtY84j4b5xdUrsVFDt43meadSB0DZ1XsAWEIAABCCQRwLZhLbaOXoFt74CW6czLQlZ076nrdUBu0NbZ8RsA2saY3dI6/5cWlb5kbbWxUUsvE1jNHCq6ZH1HrYj3pBd5h62zqjb5MEt0yNbbWG1faYXZ+wHTxzAARzAARzAARzAARzAARzAARzAARyIpgNBhYLZhrY6KjU2stb5fZaGq6VTFTuBaPxo2HKhrWu0bNz6uN+PJQ9ttR5l98qN37Zcme7Q1hUs29+ZcvvG1SmxW0G1j10XP+8JbfMYRHBoCEAAAhBITSDb0FY7RQ1ut2/f7oy41emQ9ZnWCFurM3eHr56drUfgGref1zTL7n3cn0vrkDS0dbZJf7pkvR9GotG2zihb13TIOkXyzOLEo2y1PE8eFj/WJ74YhA1scAAHcAAHcAAHcAAHcAAHcAAHcAAHcKByOBBUKJhdaKv3f7XuJVv6O7yyIFfX26FuyeeycDXVerst44PYeM9d9SgdPZtwtKwd2pbedzcueN69u/R+t67pnH38jjKo9ok/T5tH8veEtqnzAraAAAQgAIE8EggitNVO0gS3b7/9tu/AtqSTLQlFi259S/bFOnpXUOoRuJYPba1RtrERstaUyh5l6PHjynGOr8e29jtZMho4nWmSdaRxotD2qI60bWCNrHV/NiNwrVctL9MLEfZLfqEGH/jgAA7gAA7gAA7gAA7gAA7gAA7gAA7gQHQcCCoUzCa0dUaheo1StUfYxk2fPFc26rrnN5b9DjDV+tjvT5OFtqXhqpmi+fmNkvS+tHGhrTpRUraZGnmM3qN3d6krrgA43e9QUO2T7vHc2xHa5jGI4NAQgAAEIJCaQFChrXaAZqrkvXv3ll1gxC4g0rv4M9MbFzVo7Nz3VadM3rd7X0l5HoGrO2x1Ppfu6wTATnBrha8eZZR03vZ9cGfJF7s3yhdvzbLuPdtYUk7fbJ2rTmmcMLh1pkQuOT89z2SjbJkaOT1v3BdgfIYbDuAADuAADuAADuAADuAADuAADuAADlQ+B4IKBbMJbfEusXdBtU+mjAltU+cFbAEBCEAAAnkkEGRoq52lBreZdppR2i/paFtrFG3CYLd0G0bZJr7Ii5IvnAvtjAM4gAM4gAM4gAM4gAM4gAM4gAM4gAPZOxBUKEhom31bePkcVPt4lZ3Osv/K4+/hAz20/lKfBwQgAAEIRI9A0KFtOp1jZdkm2b1tU4W1up572ebm4rCy+Md54g8O4AAO4AAO4AAO4AAO4AAO4AAO4EBlcyCoUHDnzp3y22+/MTjFmlkwCJeCap9M60JoG718gzOCAAQgECkChLa5vXjPNLglsM1tu2R6Ycd+tAsO4AAO4AAO4AAO4AAO4AAO4AAO4AAOhNeBfIeCuJHcjXy3D6FtpKINTgYCEIBA9AgQ2ia/kAjiQkunOE56j1trumTdjimRc98mQbQrZdBOOIADOIADOIADOIADOIADOIADOIADOBAuB/IdCuJDch/y3T6EttHLNzgjCEAAApEiQGib/EIiyAstDWN1BK07wNXPupywtuLaIsh2pSzaDQdwAAdwAAdwAAdwAAdwAAdwAAdwAAfC4UC+Q0E8SO5BvtuH0DZS0QYnAwEIQCB6BAhtk19IcKEFHxzAARzAARzAARzAARzAARzAARzAARzAARwoDAfyHQriSXJP8t0+hLbRyzc4IwhAAAKRIkBom/xCggst+OAADuAADuAADuAADuAADuAADuAADuAADuBAYTiQ71AQT5J7ku/2IbSNVLTByUAAAhCIHgFC2+QXElxowQcHcAAHcAAHcAAHcAAHcAAHcAAHcAAHcAAHCsOBRYsWyZEjR4T2Cl97abto++SzbQhto5dvOGd05swZ+ezzVTJl6jSZOHmK76fup/trOWF5nD171qnT/dP/KXv37QtLtagHBCCQYwKEtuG7gMnnhQvHxgccwAEcwAEcwAEcwAEcwAEcwAEcwAEcwIFCdWDdunVSXFxMcHsyXA5rYKvtou2TT7cIbX2GDT9u3y5Dbx4hAwYNyfg586GH5dix4z6P7G/zr77+Rl56ZYH8fvCgHD5yxPdT99P9tZwwPDSw3bBhY4y9BtEEt2FoGeoAgdwTILQN1wVMPi9aODYu4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAOFLoDGgzqiE6dipdnOBhoe+Q7sFWvCW195g2nTp2Sb7/7Xjb9e3PGz127fhINIXP5+OTTT0Wf2TyCKCOb49v7Ku9RY8bKE089I+PvukeenTPXGT28f/8BezPeQwACESRAaMuFeKFfiFN/HMYBHMABHMABHMABHMABHMABHMABHMABHMABHEjlAKFtBAMOPSU7cN345ZdOwKmv5n2yKZN1G3cZFYlp+44d8uTTz8RGI+sUze+89558tmq1bPn2O5k0+T755ZdfnJHAGqDzgAAEok2A0JaLmVQXM6zHERzAARzAARzAARzAARzAARzAARzAARzAARzAgUJ3gNA2w6xDR8p++dVXsujNt9N6vvX2Etm3b3+GR/O/mx3anj592pkeWV/N+2RTJus2+rDL8F+DzPcwwazW0f1Its69LZ8hAIFoECC05WKr0C+2qD8O4wAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAOpHKA0DbDTENHf36w8kNnBGuyUatm3f3T/yk//PBDhkfzv1sQgWsQZfivucRG0xLaZkKPfSAQPQKEtlzMpLqYYT2O4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAO4AAOFLoDhLbRyzecM7IDVzMlcqFMj5xsNG2ydRFtSk4LApWeAKEtF1uFfrFF/XEYB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AAB3AglQOEtgHEITrq9ujRo84UxO5ph0+cOBHAEfwXYYe2Zkpkpkf2z5E9IACB/BMgtOViJtXFDOtxBAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwAAdwoNAdILQNII/YsWOn3DxilAwYNKTc88FHZsnx48cDOIq/IuzQ1t+eZVsHUUZZaem/SzaaNtm69I/AlhCAQCERILTlYqvQL7aoPw7jAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA7gAA6kcoDQtpCSCx91tQNXpkf2AY5NIQCB0BEIS2j7008/yaZNm0TrwxMGOIADOIADOPC10y9q/5jqh85019PX8r3ie4UDOIADOBDvgP4MSl8bzwRH4IEDOIADOBCkA0H3ten+/Jtou4xC2507d8rzzz8vTz/9dKBPLVPLzuShjcSjjIAd2hbK9Mh79ux1ppg2o2kPHT4s+/bvl98PHoydmFmn01DzgAAEKgcB/f89USdWUcv1h2R96v+nPCAAAQgvNpeCAAAgAElEQVRAAAIQKCGg/aLpI7Ptk0059LXYBQEIQAACECgjQF9bxoJ3EIAABCAAgVwQCLKvzfbnYt0/o9BWw9Wff/45js/69etFn9k8tEwtO5NHGELbNWvXycTJU5znPx98SPbvP5DJqQSyz+erVsv7yz+Qs2fPZlSe7qf7azkV8dD7Ar/19mKZMnWafPyvT+See6fIRx99LKPGjJWvvvkmVoVTp07Jnr37Mj6vWEG8gQAECoZAGEJb/YsrfolcMMpQUQhAAAIQqEAC2j9qP5ntD6f0tRXYaBwKAhCAAAQKigB9bUE1F5WFAAQgAIECJBBUX5vtz8UZh7Y6wtb9CCK01TK9ynYfy+tzGEJbHRG66d+bnee3330vGjDm63Ho0CF59LEn5K6Jk2JBsgmU03nV/R574iln5GtFnYPyWrDwtdh9gYfePEKK16wloK2oBuA4EAgpgTCEtmHoY0LaPFQLAhCAAAQg4Nw2INsfTulrEQkCEIAABCCQmEAQPxfT1ybmyxoIQAACEIBAEH1ttj8XE9pG3EMdvXr06FEneNXphP08dT/dv6IfJrgdfP2N8tnnqwhsK7oBOB4EQkggDB0mP9yGUAyqBAEIQAACoSEQRF9NXxua5qQiEIAABCAQQgL0tSFsFKoEAQhAAAKRIhBEX0toaynBD/kWjAJ/e+r0aTlw4ACBbYG3I9WHQFAEwtBh0scE1ZqUAwEIQAACUSQQRF9NXxtFMzgnCEAAAhAIigB9bVAkKQcCEIAABCDgTSCIvjavoa2ZDtm8Ll68WPRpPmf6WsjTI3s3NUshAAEIQCAbAmHoMPlFcjYtyL4QgAAEIBB1AkH01fS1UbeE84MABCAAgWwI0NdmQ499IQABCEAAAqkJBNHXEtpanPkh34LBWwhAAAIRIhCGDpM+JkJCcSoQgAAEIBA4gSD6avrawJuFAiEAAQhAIEIE6Gsj1JicCgQgAAEIhJJAEH1tXkNbN1Uzsta93O9nRtr6Jcb2EIAABKJNIAwdJr9IjrZjnB0EIAABCGRHIIi+mr42uzZgbwhAAAIQiDYB+tpoty9nBwEIQAAC+ScQRF9LaGu1Iz/kWzB4CwEIQCBCBMLQYdLHREgoTgUCEIAABAInEERfTV8beLNQIAQgAAEIRIgAfW2EGpNTgQAEIACBUBIIoq8ltLWalh/yLRi8hQAEIBAhAmHoMOljIiQUpwIBCEAAAoETCKKvpq8NvFkoEAIQgAAEIkSAvjZCjcmpQAACEIBAKAkE0dcS2lpNyw/5FgzeQgACEIgQgTB0mPQxERKKU4EABCAAgcAJBNFX09cG3iwUCAEIQAACESJAXxuhxuRUIAABCEAglASC6GsJba2m5Yd8CwZvIQABCESIQBg6TPqYCAnFqUAAAhCAQOAEguir6WsDbxYKhAAEIACBCBGgr41QY3IqEIAABCAQSgJB9LWEtlbT8kO+BYO3EIAABCJEIAwdJn1MhITiVCAAAQhAIHACQfTV9LWBNwsFQgACEIBAhAjQ10aoMTkVCEAAAhAIJYEg+lpCW6tp+SHfgsFbCEAAAhEiEIYOkz4mQkJxKhCAAAQgEDiBIPpq+trAm4UCIQABCEAgQgToayPUmJwKBCAAAQiEkkAQfS2hrdW0/JBvweAtBCAAgQgRCEOHSR8TIaE4FQhAAAIQCJxAEH01fW3gzUKBEIAABCAQIQL0tRFqTE4FAhCAAARCSSCIvpbQ1mpafsi3YPAWAhCAQIQIhKHDpI+JkFCcCgQgAAEIBE4giL6avjbwZqFACEAAAhCIEAH62gg1JqcCAQhAAAKhJBBEX5u30Pb555+Xn3/+OQ7s+vXrRZ/ZPLRMLTuTBz/kZ0KNfSAAAQiEn0AYOkz6mPB7Qg0hAAEIQCB/BILoq+lr89d+HBkCEIAABMJPgL42/G1EDSEAAQhAoLAJBNHX5i203blzp8ybN0+efvrpQJ9appadyYMf8jOhxj4QgAAEwk8gDB0mfUz4PaGGEIAABCCQPwJB9NX0tflrP44MAQhAAALhJ0BfG/42ooYQgAAEIFDYBILoa/MW2oYRPT/kh7FVqBMEIACB7AmEocOkj8m+HSkBAhCAAASiSyCIvpq+Nrp+cGYQgAAEIJA9Afra7BlSAgQgAAEIQCAZgSD6WkJbizA/5FsweAsBCEAgQgTC0GHSx0RIKE4FAhCAAAQCJxBEX01fG3izUCAEIAABCESIAH1thBqTU4EABCAAgVASCKKvJbS1mpYf8i0YvIUABCAQIQJh6DDpYyIkFKcCAQhAAAKBEwiir6avDbxZKBACEIAABCJEgL42Qo3JqUAAAhCAQCgJBNHXEtpaTcsP+RYM3kIAAhCIEIEwdJj0MRESilOBAAQgAIHACQTRV9PXBt4sFAgBCEAAAhEiQF8bocbkVCAAAQhAIJQEguhrCW2tpuWHfAsGbyEAAQhEiEAYOkz6mAgJxalAAAIQgEDgBILoq+lrA28WCoQABCAAgQgRoK+NUGNyKhCAAAQgEEoCQfS1hLZW0/JDvgWDtxCAAAQiRCAMHSZ9TISE4lQgAAEIQCBwAkH01fS1gTcLBUIAAhCAQIQI0NdGqDE5FQhAAAIQCCWBIPpaQlurafkh34LBWwhAAAIRIhCGDpM+JkJCcSoQgAAEIBA4gSD6avrawJuFAiEAAQhAIEIE6Gsj1JicCgQgAAEIhJJAEH0toa3VtPyQb8HgLQQgAIEIEQhDh0kfEyGhOJXACDz2xFMyaMgN8vvBg06Z7s/uA+n6uyZOkhMnTrhXpfU5VflpFZLGRtu375AuPXrJ4iVL09iaTSAAASUQRF9NX4tLhUTAT5+k/aT2l7pP2B5hrlvYWFEfCOSbAH1tvluA4xcigTD+bPfFho3Oz5tat6Af9OtBE6W8ykYgiL6W0Nayhh/yLRi8hQAEIBAhAmHoMOljIiQUpxIYAfsX1hrEaiCrYWeiHz51+3RDWw1M7W3TKT+oEwvjD/ZBnRvlQCBXBILoq+lrc9U6lOsmoP1RNgGq3z7J9Ct2v+auU1Cf9ViDhlyfsC92H4df7rqJ8BkC4SVAXxvetqFm4SVg+uAw/UGun9CWfj28blGzaBIIoq8ltLXcUKA8YYADOIAD0XQgiA4vmzLUKx4QgEA8ATu0jV/j/clPaOtnW++jZb40jD/YZ3427AmBiiGg/WQ2/azuS19bMW1V2Y9iAtdsQtswM/Tzi2A9D0LbMLcmdYNAPAH62ngefIJAOgTC+LOdn77az7bKg349HSvY5v9n7024qzjSbNH7W+5bb9273nqvV7/uLt9+dvt2d3Xf6uq5qvva3V1TV5XtqnK5XJ5nPAPGGDCTMbPBzGKSmBHzKAQChBDzDBoYBBoACSGh760deb48kXEyzyClpDzSDtYhM2P8Ykec3Irc54skAtEIxMG1fV0Xo/x/iTaxuFKSAmgcg8I6Ovv80IcYEkPOgaEzB5Jwf4cNDERgKCKAXxw/9viTgsWgBjzIVo9ZnCNdP/YvlJGWbXtkXTCiLPLBw8j2Moqq243HNYLbnj54V9s0H/Lq4nzrtu2mbbUBNuUKWtbuq90X1JUtTe1wy2h8rvaZTgSKEYE4uJpcW4wjX1w2u7yh93O9X+/bX2F4CvHgRdy3ca4f+96PNOVALb+0ZLlfXnkUCGm68oDyTDaOQvvarh5tDg1D3i2j9rn9Vjuy2aZl1Xa1wcUANqHfYelhNmqca6vbNzcd17a92p72BUe7DthpjwHS8UE8yuLcbcMuj7bc9IoDlaYNxca2xy1rjOV/RCBmBMi1MQPK6oYUAnp/xz3evk8r5yp/uZyI/C7HfDP/W38NaXMJALPbsdOy8SXKgXds7rLLRg2Ey0N2v2w77Hi1A+0haP/tPLYtNn8hHtdRvK51aT8U0yj7GU8EihGBOLg2Dk2Com3n0BE24pgQrIPzgXOAcyBpcyAJhMkHycX4pxZtzgcBd1Gni1gs2JCGI+IQcG4vLnHtLv70WuvRRaC2Y1/nqlvzaj/s9tz6dQGpC0e9Vnu0fU3XOsOOWlbzalm0j6CLZxxdO3CN+Os3bpgFr/ZB41EXAxEYigjEwdXk2qE4M5LXJ71v6z0dFup93uY4xOXiKZdjtLzbhtavbSrPuOWVdzQdfIKAcsonuRBFGbUDedUWLa91a1u2bfa5Xda22956GfF4cKt14ah9ymUnHojDFgTYbNej19p/2IW8YfYhHn10MYItNg6urWi3NzYofmqbe52r30wnAn1BgFzbF/RYdigjgHuye8+3uQtpylW4b+P+j6AcqdylPKPXbrrLT43XrxsO03x2mzZfhnGSbW+2sXH7hrx2fdq28rz2AbbY59oGyrr9U2xcrrTzunWhXfzYDUcGIjCUEIiDa+N4rk7RlqItvVo5BzgHOAcSPQeSQJh8kDyU/gRjX1wEsDjTRV62h4/uIhXldMGHOu1rN6+mazuuDW5+2ybNm0/9ao/2QxeguphFHbmCWxZ12ItqrUv7gjrtdK0/Kl7TeSQCQwmBOLiaXDuUZkRy+6L3cJsP3AeRYdaH8ZRyTlh51K884aa7POPahLZsXrEfmobZZse5ZV27kRe2ubZ//sX4wI+NkM+tS+1UbrXrCctv25Xt3MZH21Ds7HIuH9tpNt6Id/O6ttplcZ6vDWof6tN2FEu3Tl4TgbgRINfGjSjrGwoIuPdl9An8pfdml3PdPtt8YXOB5rPTtS7lAM2TjS/D6nTzaz1hRzdvVH348RPyanoYr2sa+qQB58q5LlfabSvOiquW55EIDDUE4uBairbWrEgKoHEMCuugpyPnAOcA50B6DiTh/g4bGIjAUEXAXoxh0WYvxHRxplsg6WIQWLiLOvsaddp5Nb8uCHGdq247r5ZX2+zFM9IQ7DhdUCMOQdtyF9gm0fnPLWv3S7PacVq3YoS+I0TFax08EoGhhEAcXE2uHUozIrl90XuzzQf6ENOOQw80r97fbV6zeSCsPNKVx9x0l2e0HW1f05VPEK9puZC1OR15bW7Usnac2qZ9VJ7VshpvH5VbYZOd321b24s6oh67XtSn9oT1123PrhdpirfabgvfUWULtUHrRr/hYYU2w2y1beM5EYgLAXJtXEiynqGEgPKGzSc4V35STlXuQt/dMsoXGm/f18FtqE85Wa8Rp7zjconagvioOrXNXGPhcmtYf+w4bU9tUBzQjubTND1qP1yudNu2687X/lz9YzoRSBoCcXBtHM/06WlLD7tEe9jFMclZR1r8IhbEohjnQBIIkw+Sk/ZnFO2JEwFdfOm7+HSRqos6vdYFKo4I7qLOvnbzan5dEOZTt+bVvuZTvy5KtX5dnLsPxLXOsKNbFnXYi1Kty7VP+6g22HXbttvxPCcCQwWBOLiaXDtUZkOy+6H3cNyXNSgP2nHKBRrn8pp9Xw8rj3TlCTdd687GUUjTh6lhvKK2u0fYaXOWazfyh9mOMsiLtuw+23W5bdn1IM1t282v1zoG2i8bH01T7LQMji4f22k23mF5XVu1nUJtQN06fvi7yd7+0raH50SgPxAg1/YHqqyz2BHQ+7lyl9sfvWcr5yov6rXNLTYfaT12usbhaNebjf/C6syW324D527eqPrwNwPyanoYr2ua9t1ty+VKt23Nr5iHcbXm4ZEIFCsCcXBtHM/eKdpStKVoyznAOcA5kOg5kATC5IPkYv1zi3bni4A+7MTDSyzOEHDUxR+ukce91oedmq7XuiDUhZx7XWjdbv3uQtFeNCOve635oxbzKKPBLau2a1nX9mXLV5jFMcrbi/qoeG2HRyIwlBCIg6vJtUNpRiS3L8oHyk+w1L3PI86912fjwLDyyK9tuOkuz6hNyjNIf/m1N3xuKQRN126tW21x23ZtA48p17tlFSvEI8Be5X1co+1sIq8pFIK32qz9t21AGdiINtV2zYc4pCGgjNqifbJtcW3VPFpXvjZoH1AOOCmuGs8jEehPBMi1/Yku6y5mBPQejiOCzQ/KHeAJBByVH5AP93G9Vm7Qe7t7jbq2bttu6tE08IHWo+WQAemIR0AebSPs2mSK+M/tG7KF9UHbtu3SvMrrem3bYmMFO5VLkRdta17kw4+V7D7ZeZGfgQgMBQTi4FqKttZMSAqgcQwK66A3JOcA5wDnQHoOJOH+DhsYiMBQRkAXg/bCCwsyLP6wyMMHC1Sk62JYy+gC0V3k6QIZZVHum/nf+g83c9Wti02UjarfrQPta9C2dXGuee08mtc9al60rX217UG81qvtIE4/KBMV77bFayIwVBCIg6vJtUNlNiS/H/Y9Gryg93ibI2wuwP3d5UDkVc4MK4905S83XdtXLtG2tH29Vl7Ro+bPhTDqQRn7QavN59oO6nFt07ajyqJe5UbUoxigLsRruVw2oi/aL9SjHy1npyOf2qzYaVltX/uBeMRhvGxbXFvRjt2Gtq/tuOm2DUhDXxGX75hov3gkAn1BgFzbF/RYdqgjoPdl5QflYOU1xCOPzRfgCY/ff2XWb5qGXRSQhjJaD/ADR2j9bprdjuZBewhuWqE7NWi7Nq/ZHKZciLa0D8pn2nZUWdiqeXG064L9Ws7FV+NNB/kfERhCCMTBtXE806enLT3sEu1hF8ckZx1p8YtYEItinANJIEw+SB5Cf4GxK0SACBABIhA7AnFwNbk29mFhhUWKAB7E2g+J0Q08SHXjirR7Q8JsiMfcGnlIDGVRdYJcW1TDRWOLEAFX8CzCLtBkIkAE+ohAHFwbx7N3irYUbSnacg5wDnAOJHoOJIEw+SC5j3/1sDgRSBACuhjXX0DbR/2VcYLMpSlEoCgQiIOrybVFMdQ0cgAQcD1dlLcmTp5qhFubt/Q8SYKuevWobfYxSXb2ZSgpovcFPZbtLQLk2t4ix3JEID8ElG8Hck1oe8zafElP1vzGjLmIQNwIxMG1FG2tUUkKoHEMCuugNyTnAOcA50B6DiTh/g4bGIgAESACRIAIEIFwBOLganJtOLaMHX4IhImeA/kAefghnn+PdXtIe/vI/EszJxHoGwLk2r7hx9JEIBcCgyHa5rKJ6USACAwsAnFwbRzP9OlpSw+7RHvYxTHJWUda/CIWxKIY50ASCJMPkgf2jyS2RgSIABEgAsWFQBxcTa4trjGntUSACBABIjCwCJBrBxZvtkYEiAARIALDD4E4uDaOZ+8UbSnaUrTlHOAc4BxI9BxIAmHyQfLw+0ONPSYCRIAIEIH8EYiDq8m1+ePNnESACBABIjD8ECDXDr8xZ4+JABEgAkRgYBGIg2sp2lpjlhRA4xgU1kFvSM4BzgHOgfQcSML9HTYwEAEiQASIABEgAuEIxMHV5NpwbBlLBIgAESACRAAIkGs5D4gAESACRIAI9C8CcXBtHM/06WlLD7tEe9jFMclZR1r8IhbEohjnQBIIkw+S+/ePItZOBIgAESACxY1AHFxNri3uOUDriQARIAJEoH8RINf2L76snQgQASJABIhAHFwbx7N3irYUbSnacg5wDnAOJHoOJIEw+SCZf7gRASJABIgAEYhGIA6uJtdG48sUIkAEiAARIALkWs4BIkAEiAARIAL9i0AcXEvR1hqjpAAax6CwDnpDcg5wDnAOpOdAEu7vsIGBCBQTAs3NzTJlyhQZM2aM+WzdutWYj/jp06fLxYsXi6I7HR0dMnfuXNOHZcuW9cpm9HXhwoWCuhiIABHoHwTi4Gpybf+MDWvtPwTItWlsybVpLHhGBPoLAXJtfyHLepOMALk2PTrk2jQWPCMC/YVAHFwbxzN9etoW7GHXLk2XzsrCOVXy1AcV8gdve5+/HFkln649K6dvtyfaYy2OSZOuo172l5XJ/rq0uJJO69+441tKpGTL8UHCGv0ukbKK+gFpv76ibMDaGqjxYzv9+/0YavgmgTD5ILm//hxivf2BgAqd1dXVpnpcQ7TEIq+/RVu0OX78+NhEYXdhCuEWIm4hAqxbRxjmYfXaDwgggOOagQgQgXAE4uBqcm04toxNJgLk2uC4kGuDePCKCPQHAuTa/kCVdSYZAXJtcHTItUE8eEUE+gOBOLg2jufyFG0LEW0bz8vX4yrkidGHZc7OK3LpdpM03b0nd5ubpOnKFSlbeVh+PKJCnll2XhruFyrKHJUJjz8pj00+6giBjbLylSdlQlWh9Q1A/tqtgyScHpetJSVSUrZf6gsZv17ndUTauv1Shvb7TTT2+re1VscQ11vleK/t13p49G6a3netoO9UXam89PjrsjLPHygcnvykPIbvc+hnshzmWDr3uexzMwmEyQfJ/fGnEOvsLwQgLkLYDBMZEVdMnrYQgQsVaV1ccy1uIdjCI9ltB/HqoRyHHa5dvCYCQwmBOLiaXDuUZsTQ7wu5NjjG5NogHrwiAv2BALm2P1BlnUlGgFwbHB1ybRAPXhGB/kAgDq6laGuNTP8C2i5NVcfkqRGVMnZ/oyc2dNyQqvKj8tLoSnlq8lEpqbnhxd9vlO3zK+WJkcdkb0FetynRNkMYSqpo6wmZaWFRRRcvPlJQVcETomfJwHmr9u3L4oi2/S64uaJtp9DbVudXHMf+F23t+dZY+ro89kqpNPb7vIkDm2TW0b/39/z6DBsYiEAxIQDBMczjVUXb9evX+1snI68GLARRDiKmXd4VLVFGy9m/gEZ5iMJoRxfZe/bsydmWbuOsdcKeMFsgomoeXbRqX2Aj0u267DoQryKs9lePWpd68CpOiEdwr7Uc6kP7EHzVGxf2wRYN9jXOgYduXa1lkBdl1HZXQNa6eCQCSUUgDq4m1yZ1dGlXFAK4p9tcqfmUM5SfcG9HXg02N9nlybXhPywj1+rM4XG4I0CuHe4zYHj2n1zr/Q1h/+3Ade3w/C6w1wODQBxca+sCvT2np20eQsrd6mPyz+9WScmVeynvsJuyaVp6a2TdIvnN3TdT6ffk0sYq+ZNPjklVa36CQGcnhKTJshICT8DbNqGirRFfHe9PeN6mxNhQ0TaVnhZ6IU4OzvbKhX1hBl+07QTeA+ZZnO+cLdZ8FG0Lm/+DP85JIEw+SB6YP47YSrwI2CKgioh4kAyhUB8eY/Fni6y2Fy7SJk+enLGtMoTN1atXmy2XUR8+EBlxdOuLassWetFr2Kc22Si4D7Dx4Fbz6cJVhVjbDtQBcRR53Drs+vUc+ez33rp1wV7dYlrL4Ii27QfuiIN9ird7jTQVam0M3PpR3q7DbpPnRCCJCMTB1eTaJI4sbcqFAO7V+oMbvW+DQ6L4D2nkWu8d8+TaXLOL6UQgiAC5NogHr4YPAuRarmuHz2xnTwcbgTi4No7n7hRtc4m2rRdl7CeVMrb6TkqQ7ZTOkzXy/dS7bFWwNcePaqTGr++OVC2olH9efiVdzk8LE0EgJGH7VT1qnjDR1hOd0luvOtutVk32PPtw1O1ZU55+xusvFfdSacpr2LcrWG9mutrUKZ3ZtkZGWobAmL/wCa/SkoztgFMevKktiTPeaWsLxiUlEhSG7etOMQKoIxZ7bXrev5kewK7t7rXnGesL1inhOm1Dpxh7swjagfQt+807c+3ynZ3cIjmOG55XhzfP3e2Rg1saO98p3R65Ctsk67bH+W2XnOlp632ngz/OwLz06jZ2mfPJcjgVp99j12bvxx5qz5OS9Tvrf8+t73GRxCWBMPkgebD/bGL7fUEAi1wVFt2HxfY18rkenhAZVRRVMRICJ0RbvUY5nCMgLUoEtttCXi2P87C2w+Jd0VbbQl4E1Kl9TUVF1q3pOLqird0PpLuiqpa17dE4u1+Is69xrnhqml7jiAf/wIKBCBQbAnFwNbm22Ead9toI4N6t/OPynX0dxnc2NyhnkGvT6JJr01jwbHgjQK4d3uPP3ntrRnLtXLM2jZoPXNdGIcN4IpAfAnFwbRwaRr+JtlevXpVFixbJjBkzzAfniOuv0F+ANu09LH8w4ZQ0WOJGQ/lBCYi1voB7UErqLUHk2kl55u1jUmWVjR60tFgbFHlc0RbXtlgUIgCpWOt77KbFWF/UMXnselwhy6vXz+/0Iet2vaGibSFetZ4IGhAtjWdv2is3KNq6+W2B000LEW1dAdoIwOm2Ojtdkda9tsa8MyXQWqJ10FZvq2Nb1DbpVn4jiAeEZ9SPNm2bgm1Gzyvmy8TGneudYgRbawtj78cNlnCr4mlGHvs7FI518PucymPqC5YN5MurPbcf2b+zmTiE25vEfP11fy+kr7CBgQgUMwL6QNh+cIz+2Nd4kIx8dtByiNN0PDzFOT76IBXnCLbYadeNNPcaebHohlCpi29TifUf6rWFZG3PbcsqYhaxKKN1unXYefXcXdy6trrXWs62R+P0gXvYtY0n0t1rjaN4q+jxWCwIxMHV5NpiGW3aGYWA3tNdzrCvwUnIZwcthzhNJ9emESLXprHg2fBGgFw7vMefvfcQUM60uRUp9rVyqY2ZlkOcppNr0wiRa9NY8Gx4IxAH1xbyvDkqb7+JthBpr1+/7o8yzhHXX6HfAA3ztK0+Jn/iC7XWNsnvHpOqDhVCUp62Sy7KXUfwDB8MCDAq4thijCfEZHrYaTudEhB70JYRZC3BqTMlSvkiLsrabaTqCKSn6rFEKttuCI1lFfXhXsRhoq1up2yO6tEaLULmJXSmvG7DPGfTtuYh2maMj1vGFWnd6/RYeB67Vr+034E2UH8qjyNGe3a77Xv1A5OAkB2oM21Duu+MC8ciOPc9D1f97ilmjgAaIrJ2djp5IsYj4/tp8rllne95Hu2Zegv4zoZjof1N9rHf7u8RYxaGFWxgIALFggAWobbQaS9g7XP0x762z5EGIVO3R9a8WOzCyxZ58cGWwWgLebWMer+69bnXqEfLmcIh/7l9sReTKKttoSjq37Bhg18LbEV55LO3PvYzWCdhedyFvY2pFrXt0Ti7HOqFeAw7EOw0+xqevHj3IY4IqBcfBiJQLAjEwdXk2mIZbdoJBFx+sjnOPkde+9o+R7ymyhUAACAASURBVBp4glzr8Z2Lqc40cq0iweNwR4BcO9xnwPDrv8sLNofa50DGvrbPkUauTe/25GKqs4pcq0jwONwRiINrw54rFxrXZ9HW9ahVz1o82HID4jRdj3F54PYnoP47ba+1eyJlR4OUTLTE2pSA+3x5Q0rEbJdL5al32t7NVwyxRVtbiHXEHF9k8IQn3Tb1scctkbYXom1wa9j0dquPZRFtIwXESNG2JLhtsvFodd6Lq/0LpHkiqd1eqKhrth926wsRQEOF0pQHrG5hXGKL0q5I616nxjglSAfEbNMPFantY0q0DfRT50qIzSkPXhuDQr/szK/4OqJtyPcFWJnvhIqiWUTUjG2OdQ6njuGirfOjCFO/9R3Oo71Cv7PFPP79eX/PFxfYwEAEigWBhoYG8zBZ37Fne226C1j3WkXGMO9XCIr4W07FS/ca+KC8Cqlu3e41Foy2jbadirW7qLQXk3ZbyH/p0iVjm9bp2ol4iKZ2sPur5VQs1f4hXt9Da5fFuW2Pptl1wgYIxugHQpRo29jYaNLUhqj2tA0eiUDSEIiDq8m1SRtV2pMNAXLtGMPh5Npss4RpRCBeBMi18eLJ2pKPALmWXJv8WUoLhxoCcXBtvs+as+Xrs2gL0RU3UYTDhw9LRUVFzrFCHuRFQNk4PHD7F9B2aao6Jk+NOCgTD6beA3u/TrYvqJKnPqmUfx5dJWP31nmC7f1G2bvkoDwx8pjsvZ0SeR0RJ3xAgqKtevFNqMoUbVWs8b1vXdHJvXYFKGOPLVy5Xn8qbkUfe+1pG8AiXJz08LGE2hBvVVe0VUz9d9P62w2HtOGKtimxNb1lsSvK5roGTl6edB0edsYe35ZMPD178xCaKdqGe3UH5lMmvjovgkd77qd+IGH/6CFVp/me6Y8WsoioUVuIa5uRoq3xdvc8fDO8ZnO2V/h3Vu0pxmP/3t/zmzewgYEIEIH4EICAiwe9OGqAsOmKqprGIxEgAslGIA6uJtcme4xpXfEhQK4tvjGjxUQgGwLk2mzoMI0IDA4C5NrBwZ2tEoH+QiAOro3j2XufRVt4zGo4deqUbNy4Ubq7uzUq44g05EFeDXYdGlfocUAAvXJK3h9ZIU+MOyolVVelofVeSki6J3cbr8re8qPyzIgKeWrWKbl0Pz8hID2Irmib9sRbOflJ8QXaMDHHFWnd65yire3Zm5/dEBsDHqW2eAbv0QyhMkQ87QyLS7dvBM0tx0WPaaxS743V7ZHttnEeEGVD2gikh9WVS6R109VL19oWWW1y2rL7YM6Np61bLsRmvtM2PtHW/Q6512bsHFE0NE9Q/M0Y29QciBZtve/dS6VHZeUr1nfczOFSecnfLl2/E8H2stUbZUuxxg/I/V2/sxFH2MBABIhAfAi4XrKo2fVCja811kQEiEB/IxAHV5Nr+3uUWP9wQ4BcO9xGnP0d6giQa4f6CLN/xYgAubYYR402E4FoBOLg2jiev8cq2kKQLS8vl1mzZmVsg6zbISMNeWxht2hEWzzM72iS0/tr5dPJlfKE/V7bEZXy0pxa2X6pqZfiUohom3pnJrZADoq2mdd93R5Z33Eb2Oq17qgcrlPByDlCbIwSTUNFWxU2016lRozNEHetdozguVW2hrzLNeBpi3y2LUYI1XZSHrB+eupa3ymb8mC1RWZTdyHbIxs77e2UrT5o/SVqD9Lq5Xitvg84ZY+Fg8GlxH1/LYRcu45gG3HcDIZqHUbctDxpw8TOgFdtZ4j3rRFtnxT7++GWicIvrD0/r9Zr2WfSNF63Z9YfXqjnrxEWPRHXtqkz23c2Qoz0bUlwehIIkw+So/+gYQoR6C0C7vbIui1xb+tjOSJABAYPgTi4mlw7eOPHlocuAuTaoTu27NnwQ4BcO/zGnD0uDgTItcUxTrSSCOSDQBxcG8ez9lhF23w6HpanqETbfhM2wkRbeI3C484SaX1BKfXeWYg4Jo/1PsxeeNp6kyklAj2u77R9XbA9c+hESwmqxy08VOwssd4LW+IIjSpIenlyiZAqsGbms0Xb+trjsn9LyPti1baUqOq1Ca9W1Gt7t3qerWo33huL+m1PYu2b905Zzy5ND/YpbYf9/lktr21AZK5X+1Iex35aRb1p3y7fGSGEh46NXy+FXcXHE27T83plyI8RdNtx7z3R1vcJeOp3zHy3tB4nTwTuWUVb/WGGJc4am017r8vK0skS+t5qv60CvrN+meKbF0kgTD5IDmNvxhEBIkAEiAAR8BCIg6vJtZxNRIAIEAEiQASiESDXRmPDFCJABIgAESACcSAQB9eqHtGXI0XbIhYy+jLwfS/rCZcBYZFYhgvcMeACYVhF4r6PXfGJdkO3z57o6nvS61xR0TZEXB66WETPyyQQJh8kx/GnD+sgAkSACBCBoYpAHFxNrh2qs4P9IgJEgAgQgTgQINfGgSLrIAJEgAgQASIQjUAcXBvHs3uKtiqS8Fi44Jhti2TiWTiekZhxa+Q4bnZJrCPSC5eibeD7kwTC5IPk6D9ohmvKtfoGabp9Z7h2n/0eYAQetNyT2yeviPT0DHDLbI4I5IdAHFxNrs0P6+GUi1w7nEZ78PtKrh38MaAF2REg12bHh6m9Q4Bc2zvcWKp3CJBre4cbSw0cAnFwbRwaRKyi7blz5yLfZavvtNUj8mrg9sjRHmZxDHL/1eFuM1ys/Ui23fSyTfb49Ob7ld6uOWKLZYq2FG2VIAf42PHggcxfslzGfzVTPvtyqpw6e95YcO/efZk291u509yS06Kenh45eKRaPh03ST7+/EvZsXe/IK7Q8KCzU2YvWCIffDbefN4bOVYmz5wrN241ySdfTJQPPhtn4idOny03bzVlVN/S2irfLC4R9AkBi9HRE6bI6x+MFNR14vTZjLiS0nWBeq7W1Qs+YWHj1h2y/2CVSeru7payDZt9W48cO+4XuXKtXsZO/lo+GjNBJs+YK403bsrlq9dkxKgv/PxzFi6Vtrt3TZmdeyv8+Hc+HSPfLltp4oE9ygOP8V/NkNPnLvhtFHKCscCYYGxgF+zLFqL6hvGZMvMbeX+0148J02ZKa5vXh7D6MA5zFy3LmEOInzRjjl/PwpJV8iA1ZmH1DFZcV/sDOfDxQin/5QTZ8B+fyY3D3t+xbVduyN6350rXfW+e9Zd9t09ckYOjl0p3Z5dpov1mi2z/7RRZ/bcj5Ni0dfKoqztr0+dX7TN5kX/5n78ulSMXC/q0+7WZcufUVVO2o6lV9r8/P/a+NFSclLU//MS0X/HBt9LZdj+rrUcmrvZtXfbEK3J68Q6BbdtfmCr3rzebsrD50OclxnYcIWYDg8NfrJBrO46ZPOjzqu+9I2X/+KEpj0jUs/YHH8vq779n2tj268lyr967f2B8V3z3LRMPe69trzb1RMWf/Har4KOh6ovlcjuFpcblc3RtOjl/i+kLxgd4YayLIcSxuB0uoi25llzrfqfJtR4i5Fp3ZuR/Ta7NjhW5Nv1MhVzLda37beG6lutazAmua91vRuY1uTYTEzuGXJvm2t5oBW6ZWEVbe6AKOadoG++guoPMa+LLOcA5UMxzII4HwX3tf9IXt48ePZI7La1y+05z1s/de/ey0jPExMUrSo3I2t7RIffb201+CKBzFy4VxOUKqGPBspWCB5D4zF+6Qs5fupyrWNZ0CI1rN22Rw9U14oqxx0+elkXLV2eUd/NphiUry4xoqtc4hsUhfvW6TeZj5406h4gJOyEgQ5zE9cOHD41wXNfQaIq1tLYZ0RkYoU0N23fvk/Idu/XSPy4vWy/oH4J9jnGACN2bAFuAF8bmxs1b5rzz4cOsVYX1DaIDRHHgnE+Iym/HA79N23aasc6nznzyQOTE4iHXR8XQqDpVJIQ4+PBehzy863037PiosrHH9/RI9ZQyuVl9wYiVJ+ZulusHz+TdzNFJpdJ44JQRbbc9P0X2vfuNEQmBUcVHC0x83pXlyHiv4bYRuxWvxsrTnsdwjnJIxpjAnpYLjWb8IL4en7nB9Bm4Q6DVI8bl1MJt5mN7I6NPW381yZRHnW4fgcOhMcuMNVqfyXe7TXa9MkM6brf57bjxaA8i+N06T/S1y5sK8/zPtgnC86HPlsmVLUfMOKD/SC+GEAdXk2vJtbnmehgfkWvTqNmcmo4V8wM25WxyrY1MlnNyrc+x5Nos82SAk8i16bUu17Xha1iua7mu5bq2O2PNF8etmuva3ChyXRuv9hCraHv79m2pqqrK64O8GijaxjuofRUnWJ7jwTnAOZCkORDH4rSv/Un6g+SLV67KwhWlMn/Zyqyf1Rs2y/32cOG15sQpmf7NAuMhu6Bkle+BCXFw5PjJ8vr7nxrvVni/4qFpVNiyc48cPX7CT8b5hi3bzTXaUA/cGfMWGnETwjC8T+HJi7hpc+ZneGNCaITHKcRFV4yFN/DKtRtM/eqNCq9WeAzP+nax72mrBoUtZMPi7t9vl3lLlhuxGuca1BP2rY9GC36V7AbYigejeIgMYfTbpSuMV6+dzxVt9x44JDv3VdhZpLWtTWbOX2SOSFizsVz2VFQGvJbxcBa4YUzgOTv6y6n+uEHYhR3wzIUXLLxi4QFcffyEbzfGETgBN2ALYRj1oAz6BvvtYPcNba9auzFDyG9uaZE5C5b48fWN1029ag/GD+f4EcD5i5cDD5LRFsrDbuSJI8ATcv5/fzbnx/aYdNvFL2p3vz7LeIseHL1Ems/WmSzXD50xnplLvvN7I97BQzRr6OmR86v3GU/PjT8aI7tenSH1e2qNCBkaLyIt5xtk/dOjTDvwCoUXkvHAtMQ82HdyvufxCdvKfzHeeJfue2+ewPvTDhAh9741x4iRqAfiLzxJIQDbiyzYpZjY7UFUhOfrzpenGzEUdhsh+267EVghYm555kvZ/sJXUrfruOnv5U2eR7ptR/eDhwLxGEIsyqCtnu5HdhYj1sLzF3lhG0RRXEMk1QfIeoR3LdJdj2OUyybawmO6euoa064tumLbLni54hgVD09e4Fc7e5PBwM/X0yNXt1ULBPEdL06TmunrPbsi4m3cYQj6BO/hrvsdBlOkQ/RG32/VXApglKSLOLiaXEuu1TlNrvX+jiDXipBrJxkuJdeSa3F/JNem17pc1+Yv2nJdy3Wt/n3Fde0Df33FdW16vct1rX5DvGMcXNvXZ9AoT9E28j2iFG3imGCsg/OIc4BzoK9zIAmEmfQHyRDGVqzdIEtXr8362bhtZ1bB1RUT9U8XVyjV+LCjK4BqnRAI4cULMRILR2yDi6OKhYhHOH7ytKwv3+ZXDeFw2eo1cub8RRMHW9LbI4+TcVOnG6EP+VA/hEUECKETv57da9EW2ydv2bHb2IJzN0DUtEVbiLQr12wwgqftBYuxwVbTEG9vNXk/WAMmuj0ytheGWO2KlGizpHStL9LCSxfC69RZ84yXLTxl8DAXfYSnLsKFy1eMUA1MIZDv2LPfxFccOiz4IMDrGWMEvPCBMA17UF/bXc8TWzFHPEJY3zAOI8dNMts+fzhmvGkLdeADHNS7WtuGrRBjG67fMDYeqz1p6tZ41IfgXpvIPvx3acMhIwpCGMz2Qb5sQcVBN09UvJsP103HLxkRFQtECJEQ9CCORsXbdaAdbGUMARXiJrwxsWUyAoRHXKuwd6/Rm2fnVuwxi1K7Hjz8PvLlKiMyoq6ar9fJzSPnjUAJMVQ9baNEW3j0Xijz5hX6gG2W8atjPABAewgQaVWohRhrhGnbCJz39BhBFKfA4/D4lUastLNBENY6IVxC/Ly285gcnVwWEG0hgK/5wcfScj5zq+8w0dbfHvn778nmn4+T9lve9sP2NsirvveuNOzzfnwSFY/FLbCDp3LrxUZf3MX58dkbTR/RTwi7GOOoeFe01WsI7BiP1ss3TBtqj41Rks7j4GpybXBb/2zjS64dH9hxglzr8bxyKLl2ueEWci25VjlYuRV/+yDoNbk2G9MMThrXtS1mjcZ1Lde17jeQ69oFAUi4rrVe+8N1bWBu9PUijnVtX5+Do3ysom1vQaGnLUWdOCYz6+A84hwYmnMgCYSZ9AfJveVft5wKrG58lGiLd8DqO2f1fbD5PEjGdlbYQhmiLer+Ysp04/EJD1984FGqAeIlFq0QEhFsW7At9IGqI8bTtq3trimr4if6As9hPMC0g2sf0sLi8I5a1AHxcdW6jXYV5twVbTUDvEfh+Wq3CzuP1tTKqPGTpaq6xtSLNhHQL3giu5629nbIWjcEUQizEKqxjTD6ij6quIpreLACI1u0hYCtoq22h3GDmAzRF/kRsL322s1bDY6fT5pmvHK1bRztvqFP2F4ZNqFOjKfaAeEdnsEQe7EVM8Rq4AFbMdbLy9b5YrQ+YFYb3Gu7/cE8jxJnw+K7OjoFXq4qEkPcQ4CHqoqZuD48boURNKPi7f7aoi3iIeSV/3y8lP79B7Lpp2PlzLJd0nyuXg6OWuJ7rGIhC1HVDro1MuJUtMV2zxByL649kFO0hQiLd8vC4xgfiK0QiW3R9tL6g34/bdFW31WreOD9tLVzNpl6Nv7484C4a2+NDFvxcBWiLR7Aw+P04rpKXyTFNsYQeKvGeg/p7f6iXJSnbc+jHrlSftjztO3p8etDefNOp7fmyIM7dyPj0Q+MC7ZYBn7wasY1RGr0RzFS7+yoeH1wHPYgGUL95v8cJ0cnrfZEYLtzCTuPg6vJteGiLbk2c1cLm4/0q0CuJddiLkRxalS8zh8cybXkWvzYKsmBXJv/6GBdoustu5S9lrTjybXkWq5rvdfP2N8Lrmu5ruW6dvCes8cq2p47d04gwIZ9kBYVKNoO3gSgyEXsOQc4B5I+B+JYnPa1j3yQHP4gOYzXIWbi3bMaILpCYETYf7BK3hs51mzBi616EbBwjnpfLgQ8bHGs3rOaHx6bSEOA8Is8DY3XzVG9RbFQ761oC6/fCdNm+dsjj538tb9NsWlUxHjZ2p62Gq8C5tW6TK+/6zdvGY/b8xcvBR4i2O/BtfuErYLDAkRvvDf3VtOdSNH23r37Mv6rmUZUD/Pk1XbU4/nKtbrUdsx3TZN4xy62UrZDtr4BC82PMcEYYewhfmMBjPHCeMDDFls6Q3xGcEVa9BlbYWfbgtu2aaDO8SAX29+6ISrezYdr94ExBFUIeVHxdh3ug2Q7TT1bXdEWQiq8RDV0trXL3nfm+p6lKtriCC9QiIPqzQu7ILgiIF3frYo4eLu6obP1vpT/coIRqve8Odt/5y9sM1sopwpovXfO1Mnet+caURRJwABpGu7VNxnh2xYyIdoiwNsXW0bDu1jxh7duxYcLBNsk2yGbaIt8wASesu67a5GG9oChv+1xqmKNV9EWQjK2Ut7wb6N90fbEvHLbDHOO/oXFu6It+gSBG33HeMDDFsK0elZnVJyQiDi4mlxLrtVdN3RaR/1AKhsfkWvJtfYPpMi15FrcT8i16Wce5FpyLbnW++E0fnQctmbnulb/Cos+Rq1fo+Ltmriu9X4gBUy4rrVnRnLO41jX9vUZNMrHKtr2Fl6Ktuk/oOIYVNZBPDkHOAeG0hxIAmEO98UtFnYQRiHGwZMFn6gAsVRFQjxUxS+c4a2KMji/ePmqtLbd9evAVr54d6tuf4wyXV1dpnp4h5ZtKPe9MhHp/joaD2chBt69f9+IfVqPvT3yvfv3BR8IhJ7Y6W0fq32AXeolijh4imJrZA3wGkWcHewHybD50pWrxk4IqugPxEfEHzp6zGwBjbKwDVsHI6/9y2+8lxfbJyM/wtkLF43oqdcQPeGpiz4gwMMV+Vvv3pWJ02f7XrQQQrHdMTxc4YW0ev0mg5cK3CiLuvAeYQSIqqvXbTLn9rtukf+rOfONCBvVN3j1QpzHuCKPbrNsKhMx20pD7EYbCLY4izkAQbnp9p1APGyDsO96HWudg3lUcdC1wRZKIRzCezMqYIvcA58sMls2QuSEhyyEvKh4ux53cYtfPes2y/CuhWcotkfG+2qxzTE8RSAuQmzVcOvYRSNs6rtjIQpie2QjjKbywysV1/Z2U6gP76nFA094lcLTFW0jwA60hXetoi7kMfWlGsXWyXvemCUPmr0fA6hoq0dTR/sD845cxGnAA/dj09bppe9piwi0DfEZfbPHBXbiPbL3G+8EykV52iLT3Wu3zPuKgZ0tzqINCLEYm6h4FW1RD94JvOp77xh7Wi40ys6XvhaMMUJ3x0MzL6Li7QfJmD/HZ200C3jgqGL57ZNXjChu981UnqD/4uBqci25llzbI/bfEeRa7yZHriXXYiaQa4fHO23j+tMmytOW61qua7HmJNdm/hiZXEuuJdd6DBTHujaOZ/KDLtp2dHTIzJkz+8zLSQE0jkFhHRTcOAc4BzgH0nMgCff34f4gGQubdZu3yvujxxmxDe8aigoqvH38+Zdiv+sUwh7eVQuxER+8D3X3/gOmmsYbN434iC17x381Q65cqzeelpNnzjWeuboF84RpM+VafaN88sVE+eCzceZ9qtgqGPkR7jS3mHo+GjNBVqxZbwRaiIUQS7E1MWzasXe/LwLj3bOjJ0yR1z8YadrBtliwH0KmLeJCREV9SNMA0RbeqAh4qDp/yXJT/6fjJpmtiRGPPpdv32Xi0YfJM+YaG1G3vtMWtk6d9Y2Jt+u2hUu0e/BItaBu1AMxFH024urseUa0Rj2I17G5fLXOCKnYbvrrud8aXCGW4zNtznyDHcTutruemAYxHEIt4vABrhBys/UNOMEeF1f0A0I9+ovyCLZoi2vggq2TIUSjXXhbQ8gtXb/ZF69NwYT8Z4uDtknwsoQXT+nfjZBdr0z3PUftPP55T4+cWbJT8L7Ubb+ZbLbPNUJlVLxf0NuyER6sRiQVEWxBjHezlv3jh3J5s/e+YmSHnYjH59i0tQHvYHjJ2l6vEAV90RYCZl2TEWQRD9ES2/1iOyRs9QxPz/abLSYev6BGu/hAGEbeO6evGa9ebAW869UZUv6L8T4WN6rOGXuwXfS2X0+Wtis3jQi78+XpxpPUbAH883FpT1vM99FLjHCsEEDYRFsa8OD20OclAdEWaRBS4YELm3AOIXXhHz5vjrhGPfpOW2wtjXfaNp+tM9Xa765d+y+fyLmVe40gHRVvi7ZoD+I58IeIfXXrUVn7w0/M9tUQ6iEKR8XDJng5w1MYW15ru7ZoCwOBu/ZNcUjSMQ6uJteSa8m1XxquxysOEPB3BLlWzNb45FpyLbmWom0hf/dEibZYV3Fdy3Wtu2Yn15Jrua69am6x5Np4uDaOZ/oDLtpeuXJFFi5cGNhCefny5YVwb2jeOB4UxAEo60gLLcSCWHAOcA7EMQeScH8fLg+SQwm2l5H2tsiowl04w9u0pHRtL2sfnGIPHjwwv8rFYh+2qxfp4FjjCaEQWG2BWW2xvYdhL67Dtn/S/DwOPAL2+17t1v14eEVfbzZJ8HDF+2gLCVFCcyF15JvX9kaFOAnBF7/WZhg+CMTB1eTawucLubZwzAotgR8dkWsLRS05+X1OdUzy48m1DjK8TDIC5NrBGR1ybf/jTq7tf4z7swWfU51G/HhyrYMML5OMQBxcG8ez8AEXbSHYXr/ueei0tbXJ4sWL5dKlS30eq6QAGsegsA4KXZwDnAOcA+k5kIT7O2xgKAwBeFjiISc8YrHQxfXiFaXGmxLvO500fY7vIVtYzYOXG5658GaFx/HSVWsG3SM02+K29tQZGTd1htnWGp68SfVgHbzRHPyW/UWsY4rGw9MSXp6rv/+e8cAsdGvcgRRtGytPGxvxftgdL07zPXCdrvFyCCMQB1eTawufIOTawjErtAS5tlDEkpVfOdW1SuPJtS4yvE4yAuTawRkdcm3/406u7X+M+7MF5VS3DY0n17rI8DrJCMTBtXE80x9w0VbfX6uC7YkTJ2IZp6QAGsegsI60WEMsiAXnAOdAEu7vsIGBCBABIkAEiAARCEcgDq4m14Zjy1giQASIABEgAkCAXMt5QASIABEgAkSgfxGIg2vj0DIGRbSNW7DFUCUF0DgGhXVQpOIc4BzgHEjPgSTc32EDAxEgAkSACBABIhCOQBxcTa4Nx5axRIAIEAEiQASAALmW84AIEAEiQASIQP8iEAfXxvFMv8+i7aJFi6ShoSEvtDo6Osy7bLElclwettpwUgCNY1BYR1qsIRbEgnOAcyAJ93fYwEAEiAARIAJEgAiEIxAHV5Nrw7FlLBEgAkSACBABIECu5TwgAkSACBABItC/CMTBtXFoGX0Wba9evSoQbrHtca7PzJkzZfny5bG8w9YdHgB6584duXDhgvlDBtf8EAPOgaE3B/g9H3pjms/3NA7C60sdsJGBCAw6Aj098rD9vkhPz6CbQgMGH4FHj7rlbntzqCG3Wxul5twe6ZGBnSvtD+7Kw64HoTYxcmgjAJ7sC8+iLLl2aM+RoukdubZohmogDCXXDgTKbCNfBMi1+SLFfIlHgFyb+CEaSAPJtQOJNtvKhUAcXNvXdTHK91m0zdXRgUrnIn+gkGY7RIAIEIGBRSAJhDlcOOZhx33ZO3u8bBrzpqz7+PfScOKoGewHd1tl26SP5d7tmzkH/8qR/VLyyo9l1dvPyqq3npHKxdOlq/OB3Dh3Qg4s+MoXHDvv3ZX98yYJjrGFnh45tXWNlL73ayl7/3nffrR768Jp08zN86dk57TR0nn/nmh/YWvZiOfl1sUzvinXqitl9bu/Mh+c5wrIgzZR1+6ZY+XBvbZcReTg4hmy4o2fy9Lf/7vs+nqMdD3oCJS539wke2aNM3YiobWxTjaMetUcNWN7823ZNX2Mabd8/Hv+GJ3fu0WOry8x2dBXjGt7yx2pWbdMlr/2M2983n5WTmxaKY+6u7W6jGN7a7OZD2Y8337G2Hv7ynmTr/FktZR/8a5snfC+mR+wBTZvGT9C7jXdMHmAacX8Kf64ZzRQJBH32lvky4W/kRFf/UDenvS3crB2k7H8leRHuQAAIABJREFUQt0x+fybn0eKp3b3dh1eIc+Pfkxe/uJ/yktjn5Rx3z4nrfduy63menl/2g/8+N+NeVxOXfLmXNv9OzJz5Vvyxpffkxt3rtrVyeGTW0y55jYPazvx2NndMnnJi/Kg876JXrxxjLzw2Z+aNtD+F/OfkaaWevlo+lPy+7FPmvhXxv2l7D1aalfjn08reVVqz+8Tt57lWyZIV3enydfZ9cBgsX7PbL9c6Y6pMn/tx/71ym2TBJ98A9pE2wiNTZfk4xlPGVvnlL7ni8PHz+2Rd6b8vYkfM/dnBlPkR9vo26vjvxvADpgjH8bgvan/JHU3zmU1Z+rSl6T6zE4/z7w1HwnGEoL4lgML5INpP5QPv/5Xg/f9jlaDE8r0VjC3++w3WgQncXA1uZZcm2uqk2s/FnJt9llCrhXDs+Ta7POEXJsdn6GQqus8rmtFuK71ZjTXtR4OXNdyXav3eK5rFYngMY51LUVbC9Phssi3usxTIkAEiMCwQCAJhJl0jul59EiwCIFglu3TeT+7QGoLbPDo1Pyoc/eMsZ6XZ45ZB9EWwiAC7IJgh4UixFmIpffv3DJp10/XSNWytLiTo9q8kmF/5cKv5VFXl/Q86jYfFDSi7cUzcvfWddk++WNzNBX29PhCKewxorKIQKTeMXWk3L3ZaD44R1xUaLvZYMRViKMIdTVVAnE4nwCbtV03P3C3RVs3HWIr+tt42vMEx3Hf3C+NCAtbdn41WmCbLeBibDBGCHiYsevrz0RFWLd+97q57rIRpCHCQ5TFnFBcIOBeqtxl5h9E8yMr5xuhNlv/3Pr74/rug1tS31KT84N82QIe7qkQByG19V6TyW7HZyuPNDxIhuiJAEFvbtn7smnfN4Fi569VGzG3o9ObS5fqa+XM5SoZv+BXAeExUCiPC7SL9u2ABfuEBb/2673ccFI+m/szabmbiYUt2mo9KD923i99gdmuW89vNdfJ6Dk/lYZbF4yYCoH72vX0jyM0X9RRH6oCr1mr3jZCNc4XrPtUKmrWGVF61qp35NqNs6aKdXtmSemOr/zqIHRDULUF7+0Hl/jCMc51TPxCzgkwgsgNcRr9eG38dw2WsG3S4t/54jHGEmK52uxUk/dlX8vn3VDMGePganItuVY5JWx6kmtFyLW5d48g1942P6Ai14bdRdJx5No0Fkk747rWGxGua7mudb+bXNd6iHBdm/4hN9e17rcknus41rUUba2xSPoi3zKVp0SACBABIlAAAkkgzKRzDBZ1y17+kSz89Q+yfjaPfdv32nSHAMLq9imfGm/R/d9MkqbLnvfZnasXZM0HL8jSF/9NVr39TKhHqF2XLdpiG9/DK+ZJ/fHDJsuRVd9K3bGD5rx240o/Hl6p8E41Hq/vP29EXmSCZy+8RxFve5HCtvUjXzXxsBlewBBY7TptmyCK1tceMaJxlJgKuw4tmWmKwStXvUOBLURIxF05vE+Orl7gV316x3oTd3rbOjm/b6sfb5/YtkKAVWFX87iipvZ59TvPGe9YiKoQVzEOaz/8nfEIhpiLAM/ZvXMm+GOKfMBRPaIv7N9u+gFPXPV8tUVbiNv75k4UiLGIB6YbP3tdMP7woD27y/MmVVtPlpcKPgiXD+2R2o1BERDxsA14Q9BtvV5nvJdxjX7CExn17p7+uez4apTpX8OJIxn1nNpa5ntGa9u9PW47PUHmVfwk5wf5ogK8TyFmvj7hr4035cmLB0zWAzXrBV6xvxn5x8bLc8aKN6OqMPH2g2REwAvGFhg1zvWOccVV5EPb8CKFpyzSNUDgfXPi3xi7IFZqWj6LWwisEFWxtTK2OIY3K7xyP531HzJy9o98T1sVbZEHoiWEZmyLDGETnsSarjahP/jsqy4zXrcQXfEPfX9twl/J25P/TkbP+YlfDvjCcxZpExb+Rr5a9orphy0wY0wWbRitTfhHF+Mw0RZlIQBjG65V26fI2l3TTXlgNWnxC2as4YGr3rxTlrwo7075B9N/2IxztIP2wzyTox4En7t6xOALT194DX8+7xfGyxqNR/UZ3tjz1nwor3/5v0y7KJfUEAdXk2vJteRaMTxLrn3R3BdxvyPXkmvJtWnmJ9em17pc146O/JEw17Vc16bvGsEz3E+5ruW6FutVrmuD3w37Kg6upWhrIZr0Rb5lKk+JABEgAkSgAASSQJhJ55iWhquy/tOX/S1vva1sn824hmjY/dDbyjRsCFwBUfPk8vjUfDi62yMfWDjNeL4iDeIthFF4asJDFKIjhN1DS2fJxQM7TDUQNSFQwosUXqNhXqSHls2SO1cvmjwQBNtuNJiyOMc2wxA8N3/xji9e7p832QjPOLrvg4U3MTyAgZ96AaMPx9YsNl6kEJoPr/jG9MuIpLPHG+EV9mnbthBqDEn9h75AnIR4iQCPV1v0RZyNOeqs+Haq6RvSzu7eJPYDCYiyGEMVbe2ypgHLqxjXyI/y6IMG2Opvj/zWM0boBiaIhxCLz+HlcwN2oSzmDdoG7ghRfYZtEOpRD8ZVbcQRQjjE4x1TPzVH1Hfr0lmpXPS12U4aYnFHW4tUly40QrLa3JfjvguzZPHBX+X8IF+2ECXERcWH1QWhT7dHhhgKERICngZsZYy4s1e8HzlofJhoizQIksivwqzmxxF2wcNV0yDa6vbI2IoZWzIjzd4eGaK0PhjdXDHfCJqo63LDCSNYo067HmwvXFI+PrANcJg4DO9UCL+wR/uG7YYhxkL4hVfxpzP/3QihwAPbUENAhrALL1r0EV6uEE/hyYqA7alxbQfkn77iDSMOa3yYaIs24TmMLae/Xv6aaR/50T+IxEhHXRBZcURebAMNARXnuo2Ueh9rW3rMNiewZTPEXmx5vevwclMkqs8Yn49nPG22YEbGMJFf20zCMQ6uJtdm313BHmdybRoNci25Nj0bvF0tyLXe3xHkWnJt2ENjci25Fn9DcF3Lda3NnTjPtoZx83Jdy3Ut17WdEsaxccbxnbbunYfXRIAIEAEikCgE4ngQ3FfiTPriNq4BU4HNrS9KtMU7WVUgxjkCFoEQ9CDMQnTFdoYaIMhBIG08dczzau3pMQtGbFmMNDugTQie+s5bHHGNeF+07eoyQqCKtmhPxV+8j1e3X0Y8vGEhFoZ62vb0mHIQDyGcog/VZYtMP+DB6wuUKYEZWynDOxWiLfL76RCTUpic2rbWCJbwhEUeBNgJr1eIqRpszIEBhEtsTY2AtO1TPvHzFyraYstseOfCThWr1VZ7oY62NF7Hz7YL6fbWyHZ+nNtBRVuMP7xt4a2L9rU+nUt6bGm8JhD2b5yplW0TP5T641VGtHXng93GYJxHLWLD4tXrFMIsPljQILheoG4/3K2RNR3iHYRLCJB2KFS0Rft2iKoXeeaWjhC8KxYB+SC4oq8qykJUhbhqi87Iq+mmoPUfhE7dYhjRy8rHBbaGhgAK+4ABhFSIpQiIQ98RkAYP2FfG/YXxOoWQaodtBxebbaQhumoIE21rzu0x4iveGwxRVMVTlJu9+j3TxrbKxb6YC9uOnd1l7IC3sPaxN6ItsIRAjW2l1c6oPiMvhGL1rs01f7TPg3WMg6vJteEPkpVXwLfkWm97f8WEXEuuJdem7/rkWg8Lcm32B8nkWnIt1nv6w2mua9Pr4PTd1Dvjulb83ZTItenZQa4l1/b1+XK+5Snapr93PCMCRIAIEIEEIhDHg+B8STEqHxe34YvbsOmioh/SsD0vtrq1A4RUiKjYahgB4mGhoi3e6YatmvEA+8Smlb4gCY9YbK2IgEUWBNCuBx2+aAivXYig7hbFyA9RGFsRwx7UgS2RzYJWvVdT9WJhCw9SPCjWrZ6xNTJEYQ2KAYTKQkVbiNoqWOYSbeEZvGfmF77IC29YeBPr9siwEZ69EE/DPGQhTGsfcom26CPyaFCPXL3Woy5ucQ0BFqIxbIoSbZH/4JIZcmLzKjm3e7McXf2t8QzGuCUphImzsC8qPsz2XKIb3okKQdANePg40KItPEGxJSUC2ndFW8QvWD8y4NWKOBU0TUHrP7fvrmiLbYmRBwImxGB4HSMgTkVbqzoj+NrvA4YQi62+bt65ZmczQrf9Tlt47E5c9FszbsgIz1/Ur+0hDkJ02c6v5aPp/9t4JKs4CzEeWyprHxeuHxUQnrXhbHMCdcO7GcKtCt5RfXbH3cVQ20vKMQ6uJteSa5XDybXeN5tc6+GQ7b7q3gNz3SvJteRazBn9+4Jc636Dhs61rj3cHmHtgd1+7B/Runn0Wtd0uOa6lutarmv1m5H7x8jkWnItZstw5tqoZ8uFxFO0Td9zeEYEiAARIAIJRCCOB8GFEGNY3uH+IBlCJgRNCJs9j7rNJ2qq2ItblIN3LI4aIBJCEPU9cFPeqxf2bzPiKzw08Y5beKdC3A3bHvnY2iX+dsV4L6sGLKaPrJxv6rE9bdXTE78oRroRH3t6jHiLrZgRWhvrTB+xgIdouvOr0cZu2I5zFVIh+EL43frlB34c+gIv3o7WZlOXYhC5ZWNPj3kHL+yx35Pr9jnX9sjIj+2ULx30toyFFzEEUsTDy3bH1JGC7YghniIf4lWchaEQciHoAnONV9vtBx0oB3EYD9E1oN6tEz/0+mE8cS9Jc90lI5Zje2QEjA1EaLMN8sUzRjzXByX2Ee/uA8YGx69GeZ7B2lBCjlEPjOGtife6QgyE5yREvaiQ7UEyyo9f8Cs5fCrz3cjuA0Wtvz89bbE9Mt6lCo9Xd3tk9AMBgic8QbG9sQYVNPVaj27fsWXjxEXPG8zutN3w3xMLIXPMN/8plxtOmrZ1e2TUc7+j1eRHe8D8Qt0xU33djXPmnbg4usH1tEV/pi59yWyvjLyHT24x77EF/lcaT/rvUFRvaQiqKtpq3dpHzIlRs3/si6/wxoVXbNRcQXmI1Xh/EI74IET12R13F0O1JynHOLiaXEuuJdeSa3HPdQO5llyrP3Qi19b0eTtGci25llxLriXXpneQwt8cXNdyXWv/7RnHujbsuXKhcRRt7VHhOREgAkSACCQOgSQQ5nBf3EJcxHtGV731jGwa86YR56Imiop+mg5PT4ipGuAdCs9KCIEaINJCPET9Ze8/L9eqK00SPEbLx79nPGpxNB6kPT1yesd62Tt7vPGkxbto4fkKGyESYqvdlW/+IvBOW1+0hWdva7NJg8CJ+rZOeN+8A3f9yFel6XJa9IENq9/9lfmoPWov3hFrvycW8Q0njkjZiOeNrXifLt4zjIA6UTe8giFeQsiFSApxFXF+v1KVwyaUx3t50a/dM8eaX4LjfcDwLl764r/Jyrd+ad4PjCLtzbdl26SPTZr9Hl942R5fX2JqNVsVzxxrvF1VnEUCxgDC+I1zJ7KKthgztKEL/JSpxiNZ+4Z02AIxVkVb5IPojnfZqghsi7XAA9fAF+Iu7MH42V7L2tZgH6OEOE9AfEFe/uLPZeTsHxnPzChbs4lu15suGwHwdmtjRnFXvEMGbLn8+7FPyq9H/rG8OfF7cuZyVaAc7B0z92dmSyskqNBoZwqrV9N1q2C8t/bzeb8w4izqtOuB0AkPWQiweEcu3pWL9wji3bkzVrypVZmj23eIp3gfLuqHR+vkJS+aX+Ii88mLB+StSd+X1yb8ldmuWB8qrNszy8S9Ov67smm/98MAiKvwWrXfX6htK0bPffKHBivdphpC7LtT/sG0jSOuES7WHxd45WL7L7QNcRV2Rom2SNt9ZKV53y/KoA8QloHT7z//M1OPbiUGr2W8I/fzb35uRFo8fAau6GtUn93xcTE0BRP0XxxcTa4l19pTmlzroQHvY3ItfqxDriXXkmvJtTZLZD/XtUdGLq5rA5CQaz04yLVifohLruW6lutakTi4tlCBNiw/RdsAXfGCCBABIkAEkoZAEghzuDxITtrYh9mjop9uaQWREwJu0rbTDbO9v+LcbZH7qx3Wm2wEICI23PI8x/HuVWxxXCzBFoOLxWbaGUQgDq4m1wYxHcwrcm0m+uTaTEyGYwy5djiOenL6TK5NzljEYQm5NhNFcm0mJsMxhlw7HEc9OX2Og2vDRNhC4yjaJmdO0BIiQASIABEIQSAJhMkHySEDM0hR8KaF1+/G0a8bz9VNn7/le+YOkkmJaBbvvYN37q6vxwxrATsRgzFIRsAzE++Dhffqe1P/ScK2Cx4k03I2S9E2J0SJzxAHV5NrkzPM5NrwsSDXhuMynGLJtcNptJPXV3Jt8sakLxaRa8PRI9eG4zKcYsm1w2m0k9fXOLi2UIE2LD9F2+TNDVpEBIgAESACFgJJIEw+SLYGhKdEgAgQASJABBwE4uBqcq0DKi+JABEgAkSACFgIkGstMHhKBIgAESACRKAfEIiDa8NE2ELjKNr2w+CySiJABIgAEYgPgSQQJh8kxzeerIkIEAEiQASGHgJxcDW5dujNC/aICBABIkAE4kOAXBsflqyJCBABIkAEiEAYAnFwbaECbVh+irZho8M4IkAEiAARSAwCSSBMPkhOzHSgIUSACBABIpBABOLganJtAgeWJhEBIkAEiEBiECDXJmYoaAgRIAJEgAgMUQTi4NowEbbQOIq2Q3SCsVtEgAgQgaGCQBIIkw+Sh8psYj+IQDIQqG2slyvNt5NhDK0gAjEgEAdXk2tjGAhWQQSIgI8AudaHgidDBAFy7RAZSHaDCAwhBMi1Q2gw2RWDQBxcW6hAG5afoi0nJBEgAkSACCQagSQQ5nB5kNzdfldOTX5Bjrz3j1L1+l/JnWO7zNx42HZbakb/WB7cqss5V+o2zJaLS8b4+a6tnSH4RIW2c0fk9LRXpKe7y2Rpb7wkJ7/8jXTebpTqj/5VKn7zx3Lg+e9I1Rt/LS0nKgQ2Hv/sp4Jyduhsvik1I/9DUB6hs/mG1I79hTna+exz2Hrgt495n+e/IxW/+kO5e6FGbh1YL5dXfOlnPTnxeROHCNh5YeFIOfzW35hPQ/m3Jm3fL/+vVD1/IudmvyOPHrQLbDo64p/8NvY/+wdyaurv/XrDTmybNH9UnxUrpKttZ2e+Ke2NF0V6euRq2Vd+2zf3rzF50C+7b2dmvCGtZ6rkyspJcn1niW8SzhEXFR7cbpSDL/2ZGRvF8PbR7b3qM9oArtd3LffnQVS7gxV/98EDeXH1Uvnnb6bJ/5oxUXZdOGtMOXPzujxT8q20PegoyLQvd2+VJUcPmjI377aZev/vcR/LH04YKc8tXyj3Ojtz1rf93GljC2x6qXSZsenNdaukR3pM2eb2dnl1zXLBsb61WZ7+dqb86eQx5ohrhOttrfKrFQsD8V2PuuW1NcvlSN1V34Zl1YcEnw2njsu4nVv8eD25cbdN/uLr8fI/Jo8xdWkfPt++WdafPK7ZZP/lC/LFjnKZuHub6SvseWLqWJm2f6eg3d6Es7duyL/On2HafWHVEmnt8Mbi8p3bfp+BkYrkcyr3yXcmfSb/7fMPjL07zp/xmw0b56VHD8nkPdtNHtSNeYD+AudZB/bKn07+XP56xkQ51uDdH3U80Tfg8UdfjpKahrrIPgNn4K39v3SnSZ5fuVhgSzGFOLiaXEuuBf8ikGu9bz+5llxr8wC5llxLrrW/EdnPua7lulZnCNe1ioR3DFvvIIXrWg8fci25Ng6uDRNhC42jaBu8dyXnqrtD6s4flR07tklp2RpZUlYua3dUyIHzjdLeu2dayekbLSECRIAIFIBAEggz6Q+Se7ofStfteulqupb10916MyvyEELPTH/NCH5d99uk616LyY+Hhicm/FoQlytALIWo2nHzmnTdazXCqQqpYWXRJoTZllOVJhmC4tEPfmhEW4ilaBuh7cIxqR33jHTeuR4q2iIPxGEVJLE4s8VjU0mW/5pr98rZWW+bB8XZRFsbCxVm7fw9j7oNhk2HNgda6+l6KKenvpQhNgcyORfn5o6QpqrySKEaD7VPTXnRrxNiLdp41NlhBHZz/qDdnEMIx8MLCLEQWdvrz5vWIPJiDIDbkXf+zowZ8mEMFEvHLHMJHDA+KhiH5Smkz7D98Fvf9wTnsMp6GdfR1SXX77Xl/CBftgBh7fW1K41QB4G2paPdZLfjs5XPJw1CJkTRfAME2sPXrpjs11ruyJ32+/JsyQKpb/W+txBIPypfa8RAiLr7LnljjiOuO7o65Z0NqzPiIR5CoIU9CLh+fe0KOXWj0din8badjW2tAsHUFRphg+KG/J9t2yQQSe2+tj98aIRjCJuFBrT3m5WL5ELTLVMUAiuEYgSIy1UpfCCyAwsNUfba46njDKEWwjzEVFvAxYON55YvMCLxoWuX5XerlkhH10NtwhyBGQRY9DGqz2gTInLlVe8HJ8j3L/OmZ2AZqDiBF3FwNbmWXKuiLbnW+5KTa8m19u0+irvIteTaQh4Ek2vJteRa+84q5nkD17VifrBrr9uCKBV2Za978inJda2YtR/XtfnMlv7PE8e6thBejspL0bb/x7rAFrql5cJBKV21UuYvi/isKpfdF9qE2m2B0DI7ESACRYlAEggz6YvbB5ePS0v5bGnZNCPrp23XIum+eyd0HkBkPD7mZ3LwpSfl9FcvG5EUGe9eOi4HX/lz2fOz/9N4VZ4Y96x0d9wLrUMj1bsWgqMRTns8zz+0gforX/z/5PjnPzcetXdqdsuh174r5+a8Z8TF42P+06TB09YWbe/XnzMC5cOWW8brF3agHpSFoIug3rUQiSFmqjAJ8fDCtx8bsRLtu4IqxFd4wN67fMLUY4uwiIAdiEM7EK8rf/enxiNZ6wnk7+mRCws+FXid2uH2kW1yft6HRhAHfrDfeKg+/x3Z85P/Q+o3z7ez+31BnyCMwtM5rM+N25f6nsy3DqyT+k3fmHoUC3j73r1Ua/oHMReevOe/+cAfF1u0Pfz238rNfWVGKK7+0BNtMf6HXvtLYys8kSGw3792Jq/Frd3nh623Ap7PwA44aYDIjvmHY5xh8sG98l+nfpbzg3xRYfOZE/KfS+fJn08bJ6+UlfgelRAf4UX53z//0Hh5jthYFlWFHw8vT3hgwqsWi1k7uItbCKdlJ7y5rfk+3bJeTt9slI/L1xl7YBe8QFUshCi65ewpk/2rfTuNQAqv2l+vWOR7A0OMxPWxhmvGa1SFVhwhMCL/xdtNJg1iI0TgN9atNG1AVHbtRmN4kAyb1MtX7YWX729XLjaeqagf4m/TvbsBAfNhd7e8XFZiROGoPtderzfCKX75jIAxGbl1g/FgfW9jqd8ubEV7ruczhNG31q9Ss4y9rsgcNc4otPzYYWM7vJIhkCNgbNTrGOd/MW28wc5vRERmHthjPoizx9fuM2yDp+6ITWWm/M+XzpNfLJtvFu7w3v2nuV8Zb2R4L+OBRlJDHFxNriXXkmsfM7t+kGvJteRacm0Y35Nr02tdrmsfM+tqXY/qfOG61vsxMte1OiOCx6j1Dte1aZy4ruW6Ng6ujRJiC4mnaJv+XuZx1iVt1y7Ikm+q5OkPKuQP3vY+3x1VJaM3XJALbdm9NHI30C11R8plYZRYG4gvldIjjRRuc4M6sDmOTZXHHp8qNQPbKlsrCIHbUvbqk/LyOr5LsCDYBjFzEggz6Q+SH9afldYdC6R16zdZP3f3r5RHqa10w4YUHpcQ8dyQj6eHXQZettiqGB63EAwRIFSemf66ESO77jabLZFxRJvYHhlpONaXf2tE0sD2yL/FovTPpPXsYSNgwgtUt1yGhyw8cCFIIsA7FNsiQ5jEFsEIxut20Shzja2ekW57/0KotMVlPDT2tzv+7WNGsEYcQhgWgfzP/4mcnfmWQCjWANEVYq+KyBqPY+vpg8Ye12MVoi+2WUYfkBbV53tXThkBGQt0bNuseKPumxVr5eDvn5Dqj/+3tDdcMM1CtIVQDswgUtui7dXSqXJi/HNG4K3bODfoadvTI5eXT5ArqyebeoCDvT0y6rVDWJ+BMYRlhIuLRvvCNsYO499cu8/MAR1Lu77eni89US1PzPsq5wf5sgVX9NO8UfGaHnXEw1j3gawt6qEcvGgn7NpqhDxsnwvv3vc3rTGiJ9IhQqJ9O2DBjTwQW+FFC5EzzEaUhdeoLWTadUIExjbA8BSFCDz34D7TTJRoizbgLYqtjh+fMtaIqmoX7IFdJ643yKitG4zAir5iK2gI2H88cbQRNiH4ZuuzvdWyeuy69kAYhhiLxbYdbPEU8VHeSmFYIT/qhfcr2tWAPkCshZcvtruGIG2PBzCELeg3QlSfUQbjC2Ecx2+rDphyDa0txosY2zwjoA+oL6khDq4m1+bewcAef3ItuZZca38jMs9x38XHDri2d7XIxjsoR649k7HLBrnWnlEDe06uTa91ua7tEa5rua4NW+dyXevdl5W/ua4N8hTXtUE8wq7i4NpCxNmovBRtw0YnLK7pkswcXyFPfHZE5u+pk7q2VmnrfCgP7rVKW0OdrC89Ij8dUSHPLr8kt3qp3baf2ZGnYKseuKWy4UwB71AzguKT8tjjT8pjU72H6GFdjYyzy6OOV9dJU2Tm3iR4YpqxD/XbH6utmqlOWp62NK17I6vNpl4Ll+j8tTIpok1T5vE3pOxGAf2/sU5etvvqiL5enW6feyMMp+z22yrQzgK6lKys9rx6Q8pOpvC2xjpZ9tIaF4EkEGbSHyS7mPX2ulDR9tycdz1v0d8+Jji3A0Q5CIDYwhfBFm0ftjaZbXxVtIVwiO2RjZjacMEXbdXTFh67l5aN9epx3mkLD04IxBARESDGHnz5f/rbLSMOYjAEQQ3wulURFp6o8PrFw28NSLO3BlZPW6RHibbIr79stgVhlIGgGfZ+WLwj+NjHT4WKubo1Msrjoaz9Hl+7zxA48R7i5uN75MzXr5q8KIOtqbE9csvJA8ajFaIoxgK2YJyBKURhvNMW17Af/ca4QRB3MYDYChxUjA7DAe1qCOszBGXYoaI9vIERIDyjv6gbcwHXSQtRYl5YPN5HC69/qWu9AAAgAElEQVRICJL4wLvWDfk8SIbH67sbSo3g+fSCWXLw6iXzPlj1qtWFqF03vFixRfLeS+eNeAshNMxGlM0m2qJOCLX4QGhFHQiuSKptQyTWd8bevn/PbBus2zSrkDzv0H7//bb2Q3O8AxYerCevNxiBOqrPED8hbMJ7F+ImBGnXnrAHydgi+UeL5gjs0lCoaAsbvzv9S+Ppqt7E6MOy6ioj5GILZXc87K2R0W5Un3V8sD3yL5fNlwu3bxlx9sCVS8YDWd91CxyxrXVSQxxcTa4NF23Jtd6sV14i16bvAuRaci25Nr01Mr4Z5NpOiXr4q/HkWnIt+BQhbD1Hrk1zrJ6Ra8m15FpyrXLoQB4p2updOPLYJW3VNfL0iEoZd9B7X5Y8ui3V26rllc8q5emp1bLqZMpjr+uW7F5QKU+MqpHKQr1uu6/KjlIVYws4llbIxbz2SfYEu6B3IeLyE+7CxEhPPO2NeBgJdkhCSmi0BDZXXBVJiXJWnpCKJFqE9XK79Ubmh3g9dWqe2NmCIYRXB++UYDvJ2v3Qbde9hrXGVl/IdtuwBF4/T8j495NXsDcvUjb47YeNyMDEGfwcITz+lr0xsMcx/jaGb41xPAjuK7FycRu+uM02K3XBZ+dp2LrIbPuHbY1v7l9jklQoxrtgux/c9xeP9vbIECAhTOpWwa6AeXz0T0waKoTAqWKvtp1NtIWYioWYHVzb8xVtUQe8euvWz/SrgxgMURjisB1UoLyxt9SONucQNWu/+KU8aKo312Gird3nuo1z5NTk38m1tdP9urBtsgrPeMCNd9pCDEVfgbnGme2lLdH20cNOI57aGHTcuCJoD0cNYYt8TYvqs3nQPvkFub57hdmuWj2hIRLDkxjbch9+6298L2qtLwlHFdZcW6Li3XzuNR4q4mMH+0Ej4iFAwntzyt4dsuDwAZm6b4f/vlakuyKh1oV3t0LcW3/Sez9u1PbIR+qvBrYShhgMMRT5ESA6QkTElrywBcEVSU1kyH+2bRCSIcrina+64HX7im2R0b9sfYYwDO/flTVHBNtEqyBtv3sJbWELa90eGULyjxfNMX2xzSxUtIXwDk9fvGdIPWfhZYstszEHYLduLa3t2O8FRlxUn3UOdfc8kvsPO30vYFe0xXZm6H9SQxxcTa4l14J7EMI4xuYlcq2YH5uF/X1Brk3fJXHfxccO7r04G++gnM1ndj3kWnKtPR8G6pxcmz/SusZ0S4Txi5vHvbb5R9O4rlUkxP/hLde1YtaxXNdmrnvItcG1PNe1Q39d29dn0ChP0TbNM6FnD2pr5AfvVsmqBt3msFm2Tk9vjaxbJL+9z3vAJfJQ6sqr5Duf1kh1AU6w3Sd3RL/DNrAtcqagu+FkPqqtJ9oFRaV8Rduwsh5crtAZCmIfIj0BMCgMh7aZhwAZJn7aprn1RuVHvpfX1ZotdoN42rXh3BPybKHcFRCj2rBrCs1jxF5HALYLiTNmeeATKN7LC4OhJdS6172stk/FQvHrU41hhSnahqESV1wci9O+EuZwf5Bs3o867hnjIQlvTfWezTbG7uIWZeBF2XrmkBEwIdIiuAtqXUjboi3y6XtyIWDifauN271tQrE9Mt5HqzaFibZR2yNju2K8QxdbS9nBtb0Q0Tb9LtkbZmvji4tG+bbabcB+iMnquWqnwSvYeLWql3KOPsOD9cAL/yPgXQzP2PPzP87YElpFW7QH7PDePIyBetqqHYoB7IMt7iJcxwl4B0JPj0T1GfkwFnhHMjx9EfBwGTioQN3eeNHf7jlQ7yBfqLDmmlHTUOd7Q+I9pRDe8gn5PEhGPXhPLoRbeF/+3ewpMrsy/e7dqAfJ2M4Y2xRfuuPthwJPTYi4+y6dN6bhiOuOrk7juVpa620NfejaZSPaqmcnFpP/vnB2YEvgKNEWQu/Ws6eMkNp0/54Re1WghbgK4RfCrdZtPzRH+idb1pn3xubqM94t+xdfj/ff24sHAHj/K7xpESDofrHTm1vwfoXXsaaZDKn/ChFt4WWLNvAu2+3nThvM0A/bkxZCLrYuVi9opOPduvsve9uSo9moPrtzS23D9sjG87bplsEV7/Dl9sj2KBbvuct72hNyrff+eOARxjHKS0gn15Jr9XuT7UiuTW8FTa4Nf7c9uTbbN6i408i13vjZ3IkYrmu5rnXXHvpN57rWQ4LrWq5rk/AMmqKt3pmijh2XZdynlTKuti2d42yt/G3qXbYq2JrjR7WS3syvTaoXVcoPVtaly+U4O72ztNei7cKd6QdC4c14Al56u+GpUmNEPMsj8/EnJUqAdIXGQBshYqCXP1i37WEaTA8Kspl1Z9rliqumTIgdEth2+A0pWzc1hu2R00K36Yfr3Rtmh90pV2w1+bOJrxLuIezWY7ehnri2bSksosbYxxCCq7FJxy/TtuD42fkcodhUmsZLTTTj52/RnDm+mi+Oo2urJ6C7YnpacLVts8V2tcVO97cHD8wzD4/wdlCLi1Ef21bDhvgxCYQ5mKJtT+q9rO4wa7we3XReEwEiQASIABEIQ8DlDfsa5/Z1WPmwuDi4mlwbhizjiAARIAJEoBgRcLnUvh6uXJttHG187HxuvHtt5+U5ESACRIAIDC8EXE6wr3FuX+eLTBzr2r46DlG0zTFabRVH5A++PCOpTZFN7lvbDklArPUF3EOyyt758PopefbtGvF8F3I0BJFta6YH7fwcHrZ++ta0XBzdkisWiXiiZqYo59ZhhCrLezKQ7oiBnkiWFmLNtVXWvZZIkdMTs3xhzGrU2GMLkikhLCCyOXap12tYfVq1W2+Grcho22ufayVhcZoWuo1zqp8QMQN98guFiLapMhH5o8bVFxyt8Ui3on0L2uGVccbT2mo4iFGmQKu469ggv56jbVP+8akBM+K+CNqI2j380nakx8AXtc04Br8b2edHyPcrox207eaLo+24EUtefUkgzMF8kJy8EaFFRIAIEAEiQASCCMTB1eTaIKa8IgJEgAgQASJgI0CutdHgOREgAkSACBCB+BGIg2sp2lrj0i+L/DBP29oa+Y4v1FrbJL9bI9X+jngpT9tll8V7A5hlaOhpt9Rs6YNou+WU5N4g2RWLChRtowRCR4Ryha2ggBgt6vliWQofT8wLimYKnS8+Wt6arhibYYcKhFGCZYh3aqbYl3qXrI9FCKZhoq3lien2U/vk9TflterYGEjz+5wWUrUOPYb1XdM80Vm9Y506wmwvaHwzxWS1PS2Q+pZ4JwabN5zIeC8zxzFctA3a6IytsdPBy2Cjc9TJb7rgtoNIN18eeXK2HS9eSawtCYTZLxzTR7B784uxPjbJ4kSACBABIlBECOTiCTfdvsa5fZ2r23Fw9UBy7dGjNTJ+/DTp6Mj+PptCMMiFEdOJABEgAkRg6CGQiyfcdPsa5/Z1LnSKjWtz9UfTC8WhEMy0DR6JABEgAkSgOBC41VgvNZt3yfHyPdJ0o8EYneu+76bb1zi3r3OhEAfXUrS1UO6vRb7/TtvrXV5rj27IqkmWWJsScF/YdiNlTZfUbUu907bTMjDHaf9uj4zGXbEoTLT18vjbKKfESSMCOkKi352UIOmLkY7wFxDMUnn9+n0B0tkiN5UvKKL5LUqoKBnwjAwTwiK2GU5Xm1FvwHaTLxPDDFuc/lvVm1OT3/JUddN9UdXCO9MOHTsHtwgbM9pAhD8WlhAZarvXZ38snDyZtgXnkL771y+fMsbDQcXjJ0NNjCsy00Z3frjXaNkZa9PvtL3pOTwAom3OtuNCKrn1JIEw+4tjkos6LSMCRIAIEAEikD8CcXD1QHEtBNsXXngzL9E2fwRCcnbfk4d3jkj33VyvsgkpyygiQASIABEgAg4CxcS1jum8JAJEgAgQASKQE4GrF87ItpemybYXvpIdL30tu9+dKw1XLuYsF2eGOLiWoq01Iv23yO+StuoaeXrEIZlyJLVRclej7F5UJU9/Wik/+KxKxlU0epZ03ZLKZYfkiVE1UtmWEnktG7Oddp/c0et32m44mdvPNkOEgjFGuFPRKdo6I3pFCY2OiKdbz6ZFrVyiYGa7RtCzREs3R4ZQmsqAeE8cdITGVHqmeBes2a03I3+keFZIH8NtC1jijEuGHXZ/fK/fVKQpa9kTqNi9CBMm3bJOHt3i2Rfc3fxuG54gGhT17S2YvfrdUnFeZ+LnirTuNVoP9juzDtfCYH4vNXe9+n0JitrBunK37doy9K6TQJj9xzH5j5f+Msw9ag1R8ZrOIxEgAkSACAwPBKL4QOMVBff60aNHgV8h4zrfEAdXDyTXNje3yJw5izI8bRUT96g4uPHegvyhPHjQKZ2dD0Wv79+qluadfy8tu38gLbt/KHdPjA+ku/l5HcSPeBAP+/vE+cD5kLT5AE5w+cDliajr4cS1ikGuI7AMw1Pj7PJRee08PCcCRIAIEIHiRGDlR19KyV++KSVPviYrvvuWlP7zR7Lxy9k+R2ivXH5wrwebayna6khha9uaGuuqH04bzsiHoyrkifHVsqq6QW51PEw18lAeNDVI5bZqeXZEhTw954zUFabXevV0X5Udpb3YIrm0Qi7mo9k6IpRp1BEHo1ELikjpfJ4oZb+L1QhMrpDoF4iqx8+QemdsmAdpOo8rrnopti32ebpcdvErU2Bz85t2XTHZYGjZmyFip9u37QyKdE4ep07XDs0dZk9UXi0TPHrj4dsSZrszR0z9keMbrN1cmfIq7GZirOJoSMnYojIxce1wr9G0M1cdHDKNc/KbDHnUm897b3O2nWnNUIuJ40FwXwmz3zmmHwbtUecj2fdchVwpuxpL7XWN12Oph5UQASJABIjA0EMgDq4eSK6NEm0LHRmISfaned9/yu2NfySHdvzCHHFuPuWPS0fz+UBeuxzPgzgSD+LBOcA5kOQ5UChXxJW/2Lg2rn6zHiJABIgAERj6CMz5+jWZO+JpWfjrH8iC3/1QFvw/v5Glf/aqlH46eUA7HwfX9vUZNMr/lwHtdT82NiCL/EetcuHgCRk9tVKesN9rO6JSXvnmhOy+1tqnHraf2SELlxUi3JbKhjPZ38OUNihMVAqLS5ewz4zw9bglTuo7YB8PeupmCmR2Laktip0yNcdqU5k8e2wROFjauwoTbT37LFtSXrG+h2dKhPPffWuEMKs/IcJYsC9RWHnCnG+zLXy6beh7df3+p8o6QrArxgbtSCGS0T8vPjSvP1Yqnlp5bQ/qVJ2+iKtetZZIG1V/yiqRY+ukTHcKT2EeXV+q/48XwfbIoRjelppjt1NdDxNoU+9AtsbXjG3gexRWLnOueeXs8bPb9tEfsidJIMwB4ZgcI+j+cizXdde9rthE2zMXLsrqDeU5LGQyESACRIAIJAmBXDxRaHq2vsXB1QPJtVGibV8xad7+Pane/iMp3/12QLS9ufnPpLv1ZDYImUYEiAARIAJFiEChvJErfzYIio1rs/XFTlNM9Khp7jXiERcWr2V4JAJEgAgQgeJB4OK5Wpk+/jn59tV/MWItjtO++JXM/YcXZcH/+4Is/cvX5Vzt0Yz7vssDhV5nQygOrqVoayE8kIt8q9mYT7ul7kh5nsJtqZQeaZS8nGyNlZlCEKKNCJfa6jYtrkV0KyXqhW597BdJC3HpfPZ2uME2keflV9eJ8ZPOqN9+h2hasFLhK1C/LT6mbLH79hjSIaJaAlr6va5eO27/bYHSqyttg99dH8OUYGz6YOVLCbdpWy1hWW5L042UsOdvN/yk+MJyaD8UE7uetDUGG0tk9VK8doJ4oB7LTmRM2V627g3x7bXxMpVlG9/bUjb1DXnZ6ouLaRBz9MGrL92D+M/scfRqd4VS9xq5wr8v7tx7eWqtNKnJ9vz1x8CrR/HEjwhQR/rHBDG1rTYM0WMSCLMYOaaz+WEsou21+kZ/+/4hOsXYLSJABIgAEegjAnFw9UBybZRo2xcYejpvG6F2YcXXsmz/RDm+9Smp3faU3Nz4mFzc+vd9qZpliQARIAJEgAiYHQb7+iB4ILmWQ0YEiAARIAJEIAyBtatnysxRPzFCLTxr4WE7b9Z7JuvJI5Wy6NVPZcmbo+Xs8SNhxfs1Lo51bV+5mp62/TrEva28W1ouHJTSVVk8bleVy+4LbQUItr21JbycEa4yxDzk9QSotCCVKh/ixRpe8xCIdUXbYupSTts5vsU0nEPJ1iQQZhIWt4X+cmxU2cd9Fm2b7jTLohWlvmh79969oTS12BciQASIwJBGoFDeyJU/G1hxcPVAcS3eZfvCC2/6n6NH06/ZyYWBm25j0tVSKxfLvyefHdnhf8Yc2S7bd70qi0/ts7PynAgQASJABIYIAi4v9PU6GyzFxLXZ+uGmuZhpelg84sLitQyPRIAIEAEikFwE3C2QZ436iVTsWZfTYPe+39frbA3GwbVDQrR9+PChHDhwQPbs2SNtbW3ZMMuaNlCL/KxGxJnY3SF154/Kjh3bpLRsjSwpK5e1OyrkwPlGac/fvTZOi6y6Ut6DvjehJnnxrndlNi9VLTlUjplenUXUs5yiLce3iEZzSJmaBMIsRo6ZuPMZqf10Y+Q7bR89eJR1ntxvb5elpWulpGy9XLpyzQi39XyvbVbMmEgEiAARGK4IxMHVxci1GO+ezjvS1XpKOuvXSfX2H/uCLcTbLw6Xy+SafXKznT96Gq7fDfabCBABIhAXAsOZa+PCkPUQASJABIjAwCIQtgXyjEkvCOKTGOLg2iEh2p48eVI2bNggO3bskIMHD/Z6rIp1kd/rDg96weC2r75Qm7EdcOZ2v4Nuen8YYG2Nm+Fp3B/t9UedOUVbkeD2xqmtmkO9rvvDQNY5XBFIAmEmgWMK/SXZ3P0/latL52WIti2nWuTQG4el4reVcmxUjXTcepAxtfCDqtIN5bJwRancaW4RCLjzl62UU2fPZ+RlBBEgAkSACCQTgUJ5I1f+bL2Mg6uLkWuBSWvlc9K8+1+k/ew0ObjjlwHRdkL1rmywMY0IEAEiQASKHIFc3FloejY4hgrXun10MdL0sHjEhcVrGR6JABEgAkQgGQhk2wK5UAvd+35fr7O1HwfXFr1oe//+fVm+fLnU19dLeXm5eT9DNtCypSVhkZ/NPqYRASJABIhA7xBIAmEWI8fMq/iJVK6bJPVrjwaAr3zpoFS+fMhsnWyE29HHA+mPHj2STdt3ybclqwTvs9WwcPlqqTxcrZc8EgEiQASIABHwEYiDq4uRawFAW+Wz5l22tzf+kezf/fuAaPtVbYWPEU+IABEgAkSACPQFgeHMtX3BjWWJABEgAkRg4BDo7RbIA2dh9pbi4NqiF20PHToku3btMqItxNt7fXhXXrEu8rNPE6YSASJABIhAEggzCRxT6C/JINouXz5emjas8icRvGorf+8Jtvueq5B9z1ZIxQuVfjpOdu2vNF61J8+eC8Sv2bxVtuzaG4jjBREgAkSACCQXgUJ5I1f+bD2Ng6uLkWuBSeuBX/qi7a597wVE25kngxybDUOmEQEiQASIQPEhkIs7C03PhsBQ4Vq3jy5Gmh4Wj7iweC3DIxEgAkSACAw8Av29BbJ73+/rdTaE4uDaohZtm5ubjZftzZs3ZfPmzXL8eNDTJxt4YWlJWOSH2cU4IkAEiAAR6BsCSSDMYuQYiLZffvOFtGyaIY/uNUvL6VbzOfhKlfGyNaLtcwekZkz6PRLVtSeNYHugKuidixHcue+ArFq3qW+DydJEgAgQASIwJBGIg6uLkWsxmK0Vv/BF260HPguItnNPHRqS481OEQEiQASIwMAjMJy5duDRZotEgAgQASKQC4E4t0DO1dZApcfBtUUr2mLrxd27d8uBAwfkwoULsmbNGsFWyX0JxbrI70ufWZYIEAEiMBwQSAJhJoFjCv0lGUTbj+aOkuaNc6T9+A4jzh7/4oS0nm71t0c+8kG1dDR577S9dPWaEWzLd+4J/fXykZpak+7aMRzmIPtIBIgAEShGBNz7dV+vs2EQB1cXI9cCk9aKn/ui7caDkwOi7bdnDmeDjWlEgAgQASJQ5Aj0lVvd8tngGCpc6/ZRMdCjprvXiEdcWLyW4ZEIEAEiQAT6H4GB3gLZve/39TobQnFwbdGKto2NjVJaWirwsl23bp2cPXs2G1Z5pSVhkZ+XocxEBIgAESACBSGQBMIsRo75Zv9PZcTSd+T6uq3SsnmW1H5+RGo+83a1uLHvpvG2bb/eYcbi+s1bsmD5asEWyF1dXaHjc/7SZSPatrS1haYzkggQASJABIYvAnFwdTFyLUa8teJnvmi75vAcX7RdfO6o7G64OHwnBXtOBIgAESACsSIwnLk2ViBZGREgAkSACBSMQNgWyHOmvSqIH0ohDq4tStG2u7tbysvLBQCcPHnSbI384IHn5dOXAS7WRX5f+syyRIAIEIHhgEASCDMJHFPoL8mmbfu5vLnxFVmw5bQ0b54lmzZslHVfnTBTpnHndSPadt7pFIiwi1eVSUnZemnv8ETcsHl141aTEW2v1jeEJTOOCBABIkAEEoZAobyRK///z957v8dxZXfe/8u7P+ysvfbr1a7mtccjez3jtWfHHpvSjKQRh5TEnHPOOYMBJAgSRGw0cs4550gCYAQDSJEUcyYlMc55n++pPoXbhUI3mmiA3cCt52lW1b3nnnvutwp92f3pc8vT8PwxVwfjXAtNnjRNNqFt5qkkE9qmXO72JJmu0wpoBbQCWoExoIC3udPXek+SjJW51jpGq0ZSb1eOMrtyaaP3WgGtgFZAK+BfBaxLIEdt/iOlJuzxbydevFnf94d77qk7f8y1QQlt+/r6KD8/n+7evcv769eve9JpyHWB8CF/yMFqQ62AVkAroBUYsgKBMGEG4xwTmj2VtpTPomMVfXSjs5LulEZRYXgP6/592S2Gts8fvaD0vCJKzMylR4+feLwmP718ydD27IXhr47hsSNdqRXQCmgFtAJBp4A/5upgnGtxoZ42TTKhbcqpDBPapmloG3T3sQ5YK6AV0AoEsgLjea4N5OuiY9MKaAW0AmNRAesSyBF7vqXm+oKxOFS3Mfljrg14aAvq/fjxYwKovXTpEmFZZDy/tre3l06ePEnV1dWDLsPoptYQToL1Q/4QhqZNtAJaAa3AuFYgECbMQJhjfP0l2cGY6XSwZirtLjlHJ298T49LIqgzvozvpRsFNxna1jW2Moi9cev2kO6x5Kw8au44OSRbbaQV0ApoBbQCH1YBX+cNb/aeRuOPuToY51po8rRxogltnV15JrTNuGI8ksCTbrpOK6AV0ApoBYJbAW9zp6/1ntQYK3OtdYxWjaTerhxlduXSRu+1AloBrYBW4P0VAJQ9vn8GORd8SgmzJlD80s8oEJZAtr7vD/fck0L+mGsDGtpCvCtXrlBTUxO1t7dTR0cHtbS0UHx8PF24cIGzbAFx/bUFwod8f41F+9EKaAW0AlqBfgUCYcIMxjkmdO90immaTCsL2qj+3jNqrMigu/mxRH/+M13L/I6hbWZBCdU2tfaL7eWosLyKSqvrvFjpaq2AVkAroBUYbwr4Y64OxrkW1/lJw1cMbZ+1zqDEngKqv3WVwW1239h6vtN4u6f1eLUCWgGtQKApMJ7n2kC7FjoerYBWQCswlhTAcscndkxiUAtY+yGWQA4UPf0x1wYstAWwvXnzJpWXl9Pp06fpzp07dP/+fbp69SpD3JKSEiosLCQ839ZfW7B+yPfX+LUfrYBWQCswVhUIhAkzEOYYX39Jdmz5NIprnkRzcwup6vZT2lrXRk9KIuj17cvUl3yV6uc2cZbtGR+WO65rbuPllMfqvabHpRXQCmgFxpICvs4b3uw9aeOPuToY51po8rTxjya0je/tpMY71xja5l4950kyXacV0ApoBbQCY0ABb3Onr/WeJBkrc611jFaNpN6uHGV25dJG77UCWgGtgFZg6ApgCeS4VX9gWOuc/ykF6hLI1vf94Z57Usgfc21AQluIdu/ePSouLqbu7m56/fq1mw7Pnz+nrq4uKigooIcPH7rVDeckED7kDyd+3VYroBXQCmgF7BUIhAkzGOcYx5+mMrSdnhNPxdcf058aL9HNHCc9b0yny/F9VLG+lqHt7bv37IW3Ke06c47bvH33zqZWF2kFtAJaAa3AeFXAH3N1MM61uN5PGr4woW3k+TZquvMdQ9v8axrajte/Bz1urcCrZz8EjQiBFGsgxRKIF3A8z7WBeD10TFoBrYBWIBgVCNQlkANFS3/MtQEHbQFskVFbW1tLCQkJdOPGDdtfQAHk1tXV8bLJ/rogwfoh31/j1360AloBrcBYVSAQJsxAmGN8/SWZc8IChrbTsg9RTt8DhrbNkZWcbXvN2U6F+yoMAOvDqhd9313nNo8ePxmrt5sel1ZAK6AVGDMK+DpveLP3JIw/5upgnGuhyZP6zymuJYriO1Mp7EwTtd69ztC28LsLniTTdVoBrcAYVuCco/yDj84OgEqZ7BHk7Vb/vVepft9HgMtZje/TjJ7ffGDbbrjxiNOH56/TYL68zZ2+1kufdvuxMtdaxyYayV7qrecoR5ldubTRe62AVkAroBWwVyCYl0C2vu8P99xeIaPUH3NtQEFbgNhbt25RfX09NTY2UkNDA4PZ77//nhCodcOSyZmZmdbi9z4PhA/57x28bqgV0ApoBbQCgyoQCBNmMM4xSb/ZwNB2Ru4WSu29y9B2cuNFeljlpDtZGZR1vJiyi8oG1d2u4sHDRwxtr924aVety7QCWgGtgFZgnCrgj7k6GOdaXO4H9V/S/s4iSuxIpP3dddR29wZD25LrveP0btDDHs8KDAbPglmTwWCdpzF1Hcn1VD0qddcrTg7oR+JS6wCY/XXdAIDfRy8JtGTyXjn0aa/CXhVCq+U+ObQYw6fq11I9aqfjea4dNZF1R1oBrYBWYIwpECxLIAeK7P6Yaz84tH358iVhueMHDx7QpUuXqKamhlpaWujFi8CvyoUAACAASURBVBf8wnF1dTX19vbSkydP6M2bN6b+T58+paSkJPN8uAfB+iF/uOPW7bUCWgGtwFhXIBAmzECYY3z9JVnqv2+n2KbJNDtvOQNbLI+M1/XzHZxtm5ucSfUtbT7dPq/fvGFo23POf7/I9ykAbawV0ApoBbQCQ1bA13nDm72njv0xVwfjXAtNLjfMZEib3pPP+/Z7BrQtvX7Rk2S6TiswJhUYLthCRmOgbRjTUOISQAgA+r7w0Z9jF0ArPgFTUQZg27A6Roq5bLjXTZzBr12/Um+3VyFv5q9X2Zm4lQlgluxXtK+ad9S0UcdWNS/MLB/OAa7tYNnT3uZOX+s9xTlW5lrrGK0aSb1dOcrsyqWN3msFtAJaAa0A0VhbAtn6vj/cc0/3iD/m2g8ObQFjOzo6GNQCzp45c8YtqxYBnj9/nqqqqqitrY2uXr1Kjx8/5ufcXr9+nfLy8jxp5FNdIHzI9ylgbawV0ApoBbQCQ1IgECbMYJxjEmb+gY4Xf0PLC+fRxIaLJritK75CjwoiqTvPQed6Lw3pGqhGqTkF1NDaoRbpY62AVkAroBUY5wr4Y64OxrkWl725aR3D2uy+M7zvvP897ytu+D7HjvPbSA9/DCjQtjPZ6yhUSGc1Hi48FKBn9TuccwA7xOUpbvgXWAnb/AlbhtylmvWqNrLrT8Cw2AlMRt9yLHVWAAroCJiMa6RCZbQdLNvWLgbxr+5hBx/JHy/klxqL3BNq7Op1Qv9oj5fjZ9M96ox2Ak+hG15or7aD9vCFcsSDDW1Qdqet16N/GZMaK47hC+PoPlZASf9zPqX+7WI6E+vbikXiezj78TzXDkc33VYroBXQCowXBYJ5CeRAuUb+mGs/OLQtLy+n9PR0unjxImfSWim3iI0sW8DdyspKam5upsuXL/Nzb0+eHLhci7TxdR+sH/J9Hae21wpoBbQC402BQJgwA2GOsc6x3s4TZk2gE+GTaGv5TJpU3UIzm88wuK0p/o7OR6bRo5IIunvre59vp+LKGsJLb1oBrYBWQCsQ2Ap4myd8rfc0Wn/M1cE410KTgtaDbtC2+8FtPq/6/rInyXSdVmDMKQBQp8LAwQY4GJgFGBMgN1hbT+WAcoP59tTOWx3iArjzFpsAQsQAiDjYhjjVDf5VyCl18KMCXQBL2MomYBLnyC4V0Ig4YauCTNgg6xRlgLnYow184JqVfr2Ps1XVONC3FfzCjwpccQ479C1+4Vu0gn/ogjYCU3EMe7RDPWAozkU3u2sofWL84gfHiB394SXtcAx/6BfHGBOO0Z/UiS38nnNUmPqLvhgLYpP4EWPu7zZR8scL2Ifzr2ZT5j+vptvN5wdkffo6t1rtoelg21iZa63jG0wDu3KU2ZVbfepzrYBWQCswnhQY60sgW9/3h3vu6d7wx1z7waHt7du3KTc3l+7evUvv3r3zNF6uR5YtBp6fn0/JyckMej028qEyED7k+xCuNtUKaAW0AlqBISoQCBNmMM4xibMmUuyaLyi0dgpNLC/lL5CxPDKgbWlIMT0uiaAfe31bHhmXrLGtg5BtqzetgFZAK6AV0AqIAv6Yq4NxrsX4He1ON2h7/vE9Pq+91Sfy6L1WYFwoALA1FGgLoCfQTBUGYE2gmVru6VhgHmzgU9qLf4A6TxvgnrcNsBN+B1tqF2APYBBAEBt84hjldps1Jugmcav21qWG0U61U8eL/hAf9MBeYCZiaduZYoJL2Kkv9A0IKmUCW+FHhZ4YC8owzq6wPN7DFv7RXvUBX4DAeCFenIsm2CNujE1AM9oiZsQCW6s+aCPwWMYFW7SRuLFHX3Id8pQxiZ3ECDuMDWOSOvjD+KR/7BGnxA37hL+eY/YHaJvyt4sZ+KrXbKSPx/NcO9Laav9aAa2AViDYFLAugRy36g8UHb6U+i6dCbahBFS8/phrPzi0BdU+deoUlZSU8HNtvYFbXAE817auro7q6+v9ekGC9UO+X0XQzrQCWgGtwBhUIBAmzECYY3z9JVnqgu2UMPtTimmcTBPyc0xoG1N+lVKPFdL5XCc9rYyjP7/tf978UG4fPM/WkZpJeL6t3rQCWgGtgFYgcBXwdd7wZu9ppP6Yq4NxroUmjrZ4N2h76ckDSrx4iuo0tPV0y+i6MaiAZFp6G5rAOtgBsgGMCTBDnS+bAD4AOMA4vLAJPAaos4OnAHIoR3+IQTbVH8oRF3wJwLTzBeAnkBD2iAHQTwCo+JY9+oSdbLAFPLRuiB19I1Zs0FfGh3PohnrEBB/SpxyrewGWapndMewa1hjPpVXrMX4BnCgHkEWZXHPV1u4YcUo5+kA7eaFc9JVjxIBxIQtW2uHaiB321jHBH7R1fOQOpqWN+JF26EPix75yVyj3JWVqvbSN/8tZbANom/XPa+j7hrMDsj69zaXe6q33gXo+VuZadUw4tmoi9XblKLMrlzZ6rxXQCmgFxroC1iWQI3dMIpSN5c36vj/cc09a+WOu/eDQFgMUCIulku/du8fPq7UKJ0K8ffuWrl27RpmZmX7NsoX/QPiQL+PUe62AVkAroBXwnwKBMGEG4xyTviKLsESyI+Mr+s/sWBPaIts2PjGHClOK6ElJBL367qxPF+vajZsMbe8/fORTO22sFdAKaAW0AmNXAX/M1cE41+KKOtrdoe21Z4/H7oXWI9MKDKIAwKKALTsTADiASrET+AiwacK2n003YasAT7TDSzYBmHIOeIgN9oCKAG3SB/pDTGKDY/QLGFs17yi/APAAP2UTiIs9fIovGZu1fwG0ar1ahn7UDVmvALzoE/4xNrSFBqIRyiXrFMARtgCW0gfqsaEfwFCxRb0JRy3gUtoOdW8FnUNq98tpZoxDsrdk/VrbQDuUQS8sS2wXkyxXDDvzeMLUAXGYdZ76tGlnBcASY+L/mEfd4fnqpR2V4/E8146KwLoTrYBWQCsQwApYl0A+HjKNkG2rN/8q4I+5NiCgLWR5/fo1P7O2oKCAent76cWLFwxzVXgLuAtgm52dTdev9/+S0V+yBuuHfH+NX/vRCmgFtAJjVYFAmDADYY5R51Rca2/nGes7yDn79xQf8jlNyDCetwdgO63uHEPXPXnN9KK9gJ5WOujl1e4h3z6PHj/h9n3f+X8uH3IQ2lAroBXQCmgFvCrgbZ7wtd5Th/6Yq4NxroUmjjYH/zBq18lq3n+noa2nW0XXjVEFVLgJyCggFLARy+kCMOJYAKNklgoEEyAHiIoN5/CJPdrJhnY4F3iK9jhGuWRIik/JfsW59KuWiR3qZAP0RJ/wBZ8qgIW9jAP2AMTiQ/YAqoDEco69NZsYZRKvaisQ1joOnHMGqQs4Ij74FEBrtee+J04xgSdigm9cE4zVE8DM+JXxvFv4gB3OoRl8IAZrW5ybZQu/dRs3x2GBpKatpRxxoQ+0QZ8SB+wBs9Xxi1/UYUw4R4xyjR2usaNOrrdde7SDhmITt/pbHovq17HwW75WsEW5vOR+wd7XudSbverbejxW5lrruEQT2Uu99RzlKLMrlzZ6rxXQCmgFxpICgLIRe78l54JPOSlDlkAeS2Mcylis7/vDPffUpz/m2oCBthgolkYGjC0sLOTlki9cuEAPHz4kBPnDDz9wJmxGRgb19Y3Ms30C4UO+pwuu67QCWgGtgFbg/RQIhAkzGOeYQ0e7KXL+DEpY+Cl9kbbFzLRdUtHJ0HVjcTf9+fVL+ul8Ez0pjaRntYn06vtefBL2eKHevnvH7bvOnPNopyu1AloBrYBWYPwo4I+5OhjnWlxhDW3Hz31uHamAQ2v5eDyHFgLTBIZhaVsARimXZWnlXK2TMuwZhv5ymtkWwA3gTrJSYQNQKcAO51bfqj9vxwB3yOpEPGpMOM79Zr0Zv+rHCnPVOusx4rSCV6sNzjEGWwBrAZx2bd3KJkwlAEiUqcBb7kuBm3YgE+BUICauKZYMVjfAYvjFmKCbgGaUpe5baIJk1At8BaBGPYAnsp8FyKIf+EA5/GKDnfiVflCOdiaodmURo0zaXGytpb7KZo4rLu5r9nH76Tm+Z9CP3J/oC/7hGy+UQwfoFO/8ls9xn2FL/of55NxoPKdYYkGfaPOhtvE8134ozXW/WgGtgFbgQyiA5Y6jtvyRQS1W0BsPSyB/CJ3t+vTHXBtQ0FYG+fLlS7py5QoVFxdTbm4uQ1zsi4qK+Lm3YufvfbB+yPe3DtqfVkAroBUYawoEwoQZCHOMr78kQ1bt3lW7+D95iyLmmdB2U3E9xaVm0tLKXvNWeffjM/rhVBkvl/y8IZ1e37tm1tkdpOcVUV1zm12VLtMKaAW0AlqBAFHA13nDm72nYfljrg7GuRaaOFrjdKatp5tjDNcBWAXqJuBptOITKCYwbNh7V7akAD74k6xUKXMDnJalbQHnJONysFgEXg5Wz0vjWvyqthKHdQld9A1QiPuD41CXDR7mssVq/4MeT5xCyaVzqGj6LtvLL7AboJLj+6h/aeEbrV2c8QqwiXuotvSYm49Xb37gsaEQEBU2DLD/ZRplVi5jW0BalGMPCIxjsYUBICm0xwsQ9ExuidlHc7TDzKRGbNaN77PpU9iv1GEc3z3soLO3irkoIXca933qRiafo3/0gzjxktgQHzbogS2pdhY9un6Dj/EPoG9l5wE+hx7Q5uGLgZ+RvM2dvtabAdgcjJW51jo0q0ZSb1eOMrtyaaP3WgGtgFYgWBXou3SGsARy/NLP+Hs85/xPSS+BbFxN6/v+cM893SP+mGsDEtp6GvRI1gXCh/yRHJ/2rRXQCmgFxqsCgTBhBuMcA2i7Yl82Z9ru2z6ZNrWWE8oO5JZRWFYRLay+NOCWevvkLj1vzDDgbXM2vX1827S5d6k/s7a0uo4Ky6vMOn2gFdAKaAX8ocCzu7f84Ub7+AAK+GOuDsa5FlI72tyh7c0XTz/AFdBdjrYCgEACfUarbwArAKehbKOdDcjgzpIRCn0A5tQ6hoTK0rsAjyb8VNrHbf2GQRt0ljawlaxbtQzlsFchJvqWbFMcq3UAcKIl4Kr4EjtAPC4DsJ0+xcw8VX04fjmN4SLKElbMYBvJXIVvjBnbxcoacqjgF8cf9Y9Z+lZ9Iyb1HMeqHfSCf9FVzRyFLcYd1zyJoaPdvQKACjuBl4lfzTazT5tOxbLuDFRf3qfE1hluLgBGoc+le3VmeUdKKmXvWE25p9ZwmUBQAbamoesA9YgB1xabwFYcA7Q+f3mfy+s2nOC9/COZs0mZs4174+V9jgP2GScX85hxjLE3xEVR61WnNDX30qeAXEBYgGhsVs0AgovPbuc66NF6NoHhsNibTkfxYDzPtaMos+5KK6AV0AqMqgJ6CeRRldtrZ/6YazW0VWQO1g/5yhD0oVZAK6AV0ArYKBAIE2YgzDG+/pIMgHZeXDXF7fiCHAs+o2W1eQxto9NzaGdBNc2tGQhtRf7Xty7xcslPSiLoRWcxXakvpqojW6WamjtOUlJm4GaXmIHqA62AViBoFPjzu7fUFOu+DGPQBB+ggfo6b3iz9zRMf8zV/pprT53qoXnzVvILx9bt6tXvaPnyjVy/f384/fTTT6aJNw2s9WhoXR753o8vTH/6ILAUACga6uYNeqJenr86VJ+D2QEgeYOxgE3IKLSLS20rMAy2/tiGqpkARABHwDpARjUugEWU3bh9ygScsAM8BBDDuHCMF3w4k6aZ4WMsaA9YKRvAn9hjjyVx1XPE4zwxlSEv2gDIon+AVXVDv6jDS2LAHnap0xYzAMV57pebKP23K7iPpAlzCaATG2IqL9jHY8V44QebwEGMV6Atw1U893XiFB4zxmkFrhiDjBfH8A8bjEdsMXb4R38yHqlDm7KKPQwg83rWuYFLgaGIL2/VRgaQ3fm5lLlvBUNOLG+c1D6Tzt0uoUcPrzMQBchUs0sBMQFPAUmxAYzWt5wgZ9lU7pPH/vg++xYN2JDIKHt5n4EtoK/4RZyyoT/JkD3TW2TaIHbEJlAWbesvR5gvtMML8WHfWuM0gSt8I2YBtCp0hQ+MBfVoB1CLDXvUSWzQHMeIDbbqZp0Xhnuu+rYeB9Jca41tOOdWzcSXXTnK7Mqljd5rBbQCWoFgUUAvgTz0K2V93x/uuaee/THXamirKOyvD/mKS32oFdAKaAW0AgGgQCBMmME4xwDaTi06RTGH/8RLq6xIDKPptWf5ebTrqptpUeMZr1f35ZWT9LQ8hnJXTGIfL58b2UNney+yn59evvTqQxtoBbQC7gq8edkPiNxrxvfZvcvnKX3p5PEtQhCP3h9ztT/mWgDYo0ejCWD28eMnBCiLvbolJWVwPcqKisrJDuyq9t6OrcsjP32l50Zvmn2oesAwFUICxlk3gDC8AMkG29AOLwAyf2yIS2Kxgi7xD2iEmNS4ECc2aYtzgFCc29mJL+zhz7qJP7UcQFU2a716jv4EOHZ1Z7v1j/awxXNHkVWJGDFmlKGNxAqoihfqEvNnmBmXaI8xqcvoArwBVAJqFm3dydA2B8+f/Zdp7BN9pOTOpfPXyzmTEu1FJxmP7GUcgHoAsgz3nv1AnQXplJI8j826q3O5H8RbHrKfy2EHn0U9W02QB1+ITcAgIF/e/k0MaXHv4bmpVWWHuB20FdiKcQjERYfQAH3BBvrAL8aUs3EdQV/rJloiHgGXgJACHWEPCCngFqAV54Cnefnr6OT5TIqvMzJ00Q5xV144wCBTsmoFnIp/AFscI8MWbfBqu5bAWpSc3WGGiHYNLjiK6886t880gTLaAYSiHxwDosIG8QGeohz+UCd7AaoAuSi3vhKap5vQVuJGW+iBl1wfaSd+MWbEKmNHPbY75y5yHxjvpXu19OTHm+b4RvMgUOZaGTPmUE8/khK7wfaYszFPw8f69TvpyRO9UsVgWulyrYBWYGwooJdADvzr6I+5VkNb5Tr740O+4k4fagW0AloBrUCAKBAIE2YgzDG+/pIM0Bav2IPfknPBp7R95zJaWtHBsHVzewNtbB/4ZZ3dJf+utYaBbcKsCdRbkcMmN76/xX7u3jeWNbNrp8u0AloBewWuttXR6x+HtrylvYexWXq2NJvfa+739T9ve2yOdPRG5eu84c3eU+T+mKv9MdcC1gLaSvZsdHTiACgrmbZZWQW0Y8cBN6jrTQNr/cuXrwYsj/zkhx8I5fr14TR4dv/xAP1vd1+hzkNZdL3hjFmX95+bzWNcL9ThdSGtlpq3JbjVyfWUOvgCVINfqXuf/cO+21Qx5zD1RJewnyvFbbb+iv60h+0yfrXSrIctxoq2iAOxwxdiU8emjllixPjQVo3frm9PfqCF+BM9OIbz+9m31Mn++oMequk9xm3kGuX+52aOFzYFU3ey7tAEsAz20hb77usF5nnHtTRCvNClJvMo21ckHOQsVsQiPtCf1Y/qU44fPrtF8JlzeC2dv1XF/dQ0Hqe00sV0+9ElKj8XwrGn/9NK7i+5bC5dvtPCdoWnt5nH8IdyqUP/8It4UAcwmt65iI+hH2KHT1yP3oYG83rAHtcVNng9e/GYEGPT5ThTQ4kde9TXrogy4xEYiT10wxgAOBFLx9V0KujawpohlvSGJTw+tU12dxjbo6zo9DZTA9UGx3bQFD5Rh1ibrzj4WNpBR8SD89zutXThVhUfww/OxQ428JPbtWZAbLCx61faqnv0b2cr94VqO9gx9MU9JPXOlm8puX02VfUaq4NY54XhngfDXIsY1fkWc251db2n0LlO/dEUCgB98YJmV69ep/PnL7r5sGqJSpTZlbs11CdaAa2AViDAFNBLIA/vgljf94d77ikaf3yu1dBWUdgfH/IVd/pQK6AV0ApoBQJEgUCYMINxjhFoG7lrLsWHfE7RC76gzUV1FJeWRRs6GmljR9OQrnD+loWUv2ke5Sz7ExVvXcBtnj57xtD28tVrQ/KhjbQCWoF+BTpSo+juRe+Z7v0txsdRTfhOhrZduYnjY8BjbJT+mKv9MdfiS2R8KSybXSatmhkEqDucDV/mx7XG0q6T1ebrJw1sGRypQGk0jwEDAS4FkmEP0IkyFY7CDtBV7KQdgB/gF2CgNW4ASdSjTiClCjoFRMKn+LX6kHPUdxzKZiCX/PFCE1za9QtbxAqAir1AWIA+iQl7wD3Uoxx7icfOJ8rQRkAf4sKYUCYAGGXSH8rxkvixL57UrxH84XW6r5jhFiCiaotjAEOAObVc4kBZcuI8unnpLANIADJAP7EFsAQcxTkAGkDcnct9PNbqjjDuM79kIzk3Tmcb9A8fAH8AgAJixZ8V5AIm4pXTtIb7hT36gw/pD8fN4U6q74jmcowH/lAux7BF3ICNAKXwIXViC3uBugw2w52sfcX5/W6AGddddBe/GA98Qg/EKDrDD0N817jRx/u+ELu1bULbjAFlVhtv5wJzVTjrrY1abxcXygBgVbuhHgNGD2ab1NafwVvbe4zBtWob3/ItZZxcQlcftAxnCvG5baDMtQjcbn5FOVa3QNYssmetjyBQoS1AL+Zg62oYPoviavD69RvSL62Bvgf0PRBo90CKczdFbfmjmQgRuWMSoSzQ4gzEeN53PhhuO3/MtRraKlfBHx/yFXcf/vDta7p5upSqQ8MpZ+oySp66i/JD06jl9C368e2HD09HoBXQCmgFRkuBQJgwA2GO8fWXZAJtw3asJEe68Z/EsOgYOpxdTBs6mmhjRyO9+7Pnq3j9VDP/5/JaRwN1HNvExz88esC/bo5Py6KTPRo8eVZQ12oFBipQvGsFXagsGFgxzkuwNDIy+gu3LxnnSvhv+L7OG97sPUXmj7naH3OtmvmDeK2ZtvhyGGWSiYsvnfGSzZsG1nq0cyjQ9sjpof0gSvrTe/8ogGVnZdljLCELCIrnzWLJWFm2F/AR5bIUL5aRRRnOcQx71MtytTi2bliqFkvYoh2Ws8W+YU3/M1LRNzbs8ZKljtEO/iVG2Ej/4k+ehZr561Vch7bSHksZoy95ybN0sZe423amcCxigz36QJ/wKRs0wYZ68YuleKUMeiBexC9L7qIML7GTuOAD5YhdlvaVZWXluZ+81PAbo08spwvwhaVpsUwubNAX4sQx6rDsrRxjGVu0x/K2WCIXS9OiLZbMhS2W8EWcslxvavN8Sok1fmAoPmCHpW8BeeELG3yoywbDP+wkIxP+MA45Rz+oxwvx4SX28IVj2OMYe/gWW6lDv+gf52oZ+sLSy42ZBgiGLvCDF+yxFDLGgnIsGyztcS5LBMM3+uw708qaiI11r4JI1FnPUYZ4RE9re5wjBuifp2TFqnYoh99EF+SFPfxhjzGpfaIML7W9HNuVS1zoQ45xT2FDO/hW/aPMzo9dmfQrvhGrlNntAW1TOubSudulA7I+rfOEr+c8oEH+CZS5FuEBwGLFCnV5ZMyt8ogC2ODxA3hh3hU77PFc+dOnz3E57FEG0GsFuFbt4BNlduXygwy9/3CrXGjttfb6HjDugd5zXRR9bBnFL/2MP986539Kx0OmUUNNrvljNK2V978XdSq0vu8P91z1bT32x1yroa2iqj8+5CvuPujhk/MFlDOh/0OZ+sGLjyeEUN35J6TZ7Qe9TLpzrYBWYJQUCIQJMxjnGIG2+3bv4i8dYuf+nhzbV9P2whpXpm0D/fT2ncerWLB1EeVvms82D7vq+D+cPdlxfJ5VWEI1je//63K9BKpH6XXlGFYAYLLZcWQMj9D3oT27e4vfX7LXzOD9j08e+u5Et/igCvhjrvbHXKt+YYwvf63PtLWWWaHt+4joaOvPtHVeNODX+/jRbd5fARUoAlDK52cBmnKOfcNqA7LKM0PVOusxIoJvgZ/wZ7XBOcAjNoGjKkwF1JWYADcBPNG3lIk/wGKBpDiGTfGM3by361egr7S32wNoCpjFuHEOXwC5sMfYpJ0cI0aUiT2OEY+8usLyOHZAYmnL+4+mU+Hc7SboAkwDWAQwzTy1mgGkgDZAMwBR2DTERVHflRYThAKQoZ0KygRQogz+BKLCz6OH191sU8rnUteNLH4uqeoDx7BX6/D8VQDbc7dL3HxY21nPVegnkBpjA1gW0Gtt03a9hMerlstzVDObl5n9A77CP+qkH5SJdtJehcqil9UOOsW3TGdtYS/PjBUfKkSGLV6wE33FDmVZp+MptnmqCb5VGzU2lAMmJ506Rj232xk4S9mNZ0/4HGAVbQBGBeRjrEfq51Lqqb0MhfH3VHouxNQFsQiIh3+Bqhg7NvhDedrJDW5tMGZn63SqvZzEesJO9Epsm8+2AnvTOhdxHXyLz8HgtAFt59GD51fZdrT+CZS5FuMFiMULm/xg6s6du2aWrUBa9YdRaqYt5mOAWnmufFFRhduPqEZLU92PVkAroBXwlwJ6CWR/Kflh/fhjrtXQVrmG/viQr7gb5PANPbtxhZJjO+iLjc3016uN1692dNDOoit05dmbQdoNvfhmcQglKL+idfsg5Fa+kHKKbwUXuO0Oo5//Iox6hi6HttQK+F0BfJm3YfMWysvXWU5+F3eEHAbChOnPOQYfXOUDrlUy1MkHXPwCGR+AZfP1l2QCbTcdjOQvJLZv+IYSFnxFK8taGdpu6mig528G//nPja5WhidXW2s5hD+/+okK13xLeWum8XlFbQPllVZIeD7tn9+/Q1h2WW9agfGmAH6sYGSTLh1vQ/c43itNVeb7DfS53NCf+eixoa70qICv84Y3e0+d+WOu9tdciy+AZS7t/zK43FymUa23Lt3oTQNrPTSJa42hg6fKeXnkou8ueJJJ142QAgCKAKcCI90+Q380nRwTppqAERmhVfOOMrx0s3P7rG38gFqAp2TuDmYPEFr69T7uwxMMFj/YW32hDEBUytlmwlTO/pUydW/nw4GxKuMAMK7ZFs5lqr3ECt3EPn3SUvMYZaq9HEtWsLRx20+Y6gbLAC9VgGk9FyCIvYA7KVPboQxATy1TjwEqpd2H3gtkHSwOb/WDtXvfckDORcUHGEwjB/s4ZgAAIABJREFUO1YgLfQGjMSGPcAmNgBsAFaxi21dxdqjbWhrJe1vOMZ2+IcBtQu+CkxFnDhGe9gurzA+b6MMoDTjvPFNEKBo+82T9PTlTyaIRUzLivfQ1vr++f9waxHDVvhFvWREI0Zs0p/Eg34iWvZwzAJbpQx+AXURN+IDiF5bmcpxwR9ex1sO0u1nN9k3/kFZ/vky7gf2eMm1KDqzha4/OsW21nlhuOdmADYHgTbXymdagbYAsWqmrXUIKrRFHdpjToZmdtDWqiXaoMyu3NqXPtcKaAW0AqOlQGrCngFLIOdnnxit7sdFP9b3/eGeexLNH3OthraKwv76kK+4dD98cJVO7G+mv991khz1N+nms6f07NVrevniKT27dZMKc07S5PXNND39Kt1/T3b7Y1fkEIGtfBhbSEVdr93j9HTG0PQT+vkvPqGfh43+kpYPClbQz3+xgnLvegrS33VnKNR2vA8pd+knFNrt7/6G5q8nzHUdEJttfEPzM5jVoFrjHlhaQA/MhoY+Vh2M+ORaGVotLujPejH8W8YwAMi7tJcxuvaqH4QBXyO5CaSFzv/x2efU0NjE+7Dw4yPZrfbtRwUCYcL01xwjUFY+4FplQr18wWyt8/VcoO3SqHz+gmFJ+ByGIivTC3hp5M2d9fTo1eATVtGOZZS3aZ5bt6ed+9nH45tXqe1kFyWkZ7vVD/WkPSWS/SC7Tm9agfGkAJZFBpTES2/9CrQ4j1Lqoq+4IGv1NKo9vru/Uh8FhQL+mKv9NdeOtmCO1hhytGSSo7iZeu7eHu3ux31/kp0KsIhMUjeQCIAJYMvwc8HAOgVwDmj3s+lGNqwA319OG7z9v/TXWTNo4RewE5mrdn14LJs4xac2iV/NNpd35nEjZomfQewCc1lntV9e6lmxM+s8jdmqnQvaImsR2Z0Ct6x7gWnWcpxbl7ZVy6zAU6ChnR9PdegD8E7aqcdS9j77wWJXs1A9+YUunrTx1NZaF900hZLaF1DJ5W76f8J2MRxFlis22AJ+SoYqwCQgpmwAtGfv36HQ2im0qOgAZ7Ci7lBrPX2V1f8McLTB2ABFBaZCA4BYbJNz4rhvHAPSVl2pMSEu4C1eZVd62TalYyH7+Itj27kPKQf03VQdwzFL9uu+6vnsCw2RVYu+pQ/sEWPn9Xw6ebOO222vL6Q1lan0D45wE07DDnAW2rTc/I6BNMompOwzwTLbPD1HS0qiuR/ohBicbfMoqnEKfZuXSo03RjfLFjEF2lyLz7T4kZT6Y2PJoLX+eArxWzfV1vgR1UuriT7XCmgFtAIBqUDfpTNuSyBjKWQsgYxyvQW3Av6YazW0Ve6BkfuQ/4aedfXQF+tbKaTN+A8hvXtIXZVdtGRXK30R1kVZ51ww6819qnO20t/v6KFWX7Nu316m6i8Fxvqw/zKN+gZPlFIUMgCaOzBDmYA5xXQUD93hn69ZuAZMZOhpAYP9YFLAoXWcHwrauuJxg+YDoajHS6DCd8u4Bb6aurr1Q0RDgLZGW/VaDIyPbdzgLxGDXrcyY6wSE4/pbgEt/oU7LIevkdyQUTtl+ix6/MT4oDoSfQkY7jxp/Np2JPoYzz4DYcL05xyDXyLjV8Z2m3zwxYdcK9j19ZdkAm1nZLVSbOPXNDd7ITnn/J52HtzH0HZLZz3devGSXr9+M+B17WQLQ6VLjZVudY8vdlHi7E+pzRFKZy5cJEdqJj199szNxs6fWvbiyWNKnv8F++8uSPOprepHHw+8blqTwNekNmKfCW3vX7us73/X+0/epvlUcWgT69HkOEIpC76kVy9faX1s3p+9/Z2rc4uv84Y3e9W39dgfc7U/51prfEM996aBtR5+Ha3R5GjOoMYZzfTg4fOhdqXt3kMB9Zmw0ty6TLA8axbgMfnjBeSYPoUcE6eYywQ7XIBVnttqAkoFQnI713nychfstYGapp1Sh/4BaM061/LJsvyw9MfLECuwV8rVfWLaTAOyujJoEbP4xV6OpU1J5k4TXMdt/YaBbXnaPpIMXMRwIaeK26nxIKM4bvW3AwGxMi7pw5pta+o9cQpDMs5YbFrGlweZmgIzsUcdXgIZOYO2bSafAxYikxHAVeqxL+ytZTAHOKiWA9ZZgSj83bhq/CobmZkCelUYinLAN/hK6NxN1x9fNP3CXrWFjcQvfavxA4yW9mazjVqecnIb+1THiyxOa7ziO7ZlDuuljl3qpF/sOVvV5hmwGJMa95zcRQTt/ybyIINJAFeAUIBb2K2oKKCrj29TaFs9L2Esf0uo/yo7kW3h4xcxmyizayNXzyzMYPCJE4BObADeskFTgFzJrgUQFSgKG7QBOMUGsIoXsl9hM7comWGvtBE4jD1A7onGb6Ub2lI2y4SsB2qXm+VyAB/117q4v5jm2ayB6CBxw1b6RkyoRx3aYpzYRDOUFZyNYThdee0yzc1ZTJvLZ9J/Dd9LH8ccpt4H9wZkfVrnCV/PZSx2+7Ey11rHZtVI6u3KUWZXLm30XiugFdAKjKQC1iWQY9Z/QdHhehWtkdQcvq3v+8M99xSvP+ZaDW0VhUfqQ/7LMz00YW0HZd2SjNbHVHG8f2lkWSJ5deNjVzSv6WZZB328rYe6jB8ZKlEOfvi2w1i2SD4M+bIv6hjcb3+NDUAjlFlhZn+LkT6ywkHr+fv1bx0nzsMoF1m+bgDzw0DbgWDz/UZpbWWFqDhfXFAw8Pp6g7YMhK33xNCgLTGQVdtar4URNWugXAvEOpIboC2WQwZYHalNQ9uRUtbwGwgTpj/nGE/QVpTEPYVfGw8n61ag7aT6ixRVNYNWFc2lA+sXUPTir13Qto76Hr+gn356OeBVuH0Z5ayfPaD8px9/pLLNsyhz2SS6+t0Nhrbf3fh+oJ2NT+mnKz+FoVXW6ulUuGOZT23Fh94PvGZak+DQJHvtTMrbOI//Bi7Ulen7/6eX9OzRA9bjZE4i63GlvYHPv+vu0Pp4eC8d7G9e5pHR3vtjrvbnXDua42do25RO6Rs66NTVJ/xc0tHsf7T6evVaPg+PVo8D+wGgtW6yhLF8fgYwVZ/L6tw4nVL3GY9kwHLARVt3Und1LrsBBLaCT5zjubNSXl6wjwB6naHTBmSpoh9AS/SB/nEsm5pZiyWTBZKKX4wl98g6N1AqNjyW36xk6Ig+BKhirGKjHsvYsVQwxpT+2xUUF/c1Ja2fx5AUYwa4bY52MPhDdjI20QmxOJNc2cKA3ADWyJxd/S1nCeM87ffLyfE3c3gZaoBbjBV6wgfOYQuwCHi3smQDZ2sCfMkzRgEssQmYBPADeAVwXF9qfNkJcCs2eH4qICp8YAMQhP/9NQv4GaUoAxQVuAl/yOZUN5QBBKMfZHMerl9lZpjCP5bfBcysvxzLvhEb4kE/4hft5Rh7bA2XDHv0F9PVxmO68qCL26HtpkpjiV4V2gJm1vWep6jmFWwHvwJ6w1ui2K8KpjFe2MAfXogLm+iAMokL7eAr49Qqtp2StYQWFSxlCAnoCCgJSAkgi2fTogyZrtgD4EpmKwAmyv49JYZhKY63V29noAqAivPM8z0MXNEm9mT/ijvIsMULNgJEcQz/KIdPnAMMY4+XwFT0K/6lTiAqzgFq0R6vr9KWM1hFNvCvHOsZtsIWfeBawB73DGKADuIP+1lFmWwnY1frpH/EBF+iBWy2Vh+n9LP1NDU/lX6buJamZC2lnx3bSz+POUzxPZ18XUbrn/E8146WxrofrYBWQCtgp0B89AYCoJVVsyJ3TCK9BLKdUsFf5o+5VkNb5T4YkQ/5P12jkG2tFHLmWX9PF8/Q/3U9y1aALe83n6HzptUz6kpspQmZ/c/DMKsGObgQMfC5NvLhy9s+IaK/Z3v3Bjzrz0gNox6bbE23jMgBjtx9hHYbMNT9+bRebLhPyeAcCAKJ7ECqF5+WOK1AkEwwDT8qULT2ZReP0bdVF+5DMlzdMksRjHu8puYMKe39WYZgnLoyUs32A/pRWg2ApcaSw4DUDHMVQOox09bVp3s2NvoZqI0VEnM0A+KwH6/1Go0ktAWwNTX8xSf8HFsBrPJMWzlHliyWTBZ7qVeUdqsXEHz16jVeblnaYY+24lf1g2xfZP1KRq7YvG/famxj+TgQJkx/zjFDgba4nlgqGS/ZfP0lmUBb7CPLFtGOipk07+Au/k/m7oJU2tpZR9deDFyC6vvTnWyDZ0zabRcyIwyg0tXG0Lb3Sp+d2aBlGcu/ofL96+lseRb7+fGp/Ohp0Ca6QiswJhR4+fwp3/NnS7N535keMybGNdxBfH+6g/W4fa6LXb159ZIS53xGHWnRw3U97tv7Om94s/ckqD/man/OtZ5i9VTnTQNrPXzFtURRfFM6hRzvIcy5dmDRU5/BUnf77j0zVH8BXMBMbHYZtGZnygGApXUTiMkZoH+7gOAT/jIXrubj9ITFlB2xmpsBdJ7pLaKSsztMN1hSGfARMBX7vspmrhPQWnFmHwPMpMzZnK0roBb2aIvs19zmtWZ7NIY+uA/wOR71gKQCl1GOmPuutBAyY+WzftbMtfT88X3j/JfTKHnhVgZwAK0AorA721LKABIxcD/PfjChatH0XWyP8rxVGymucjLlpa3n7M7ullzONq5uOcwgUGK8WFnDfnEOCIg+krbPMYEtjqElYs/ct4Icc/bwOeIX8ItjjFGgLXwhQxNQDyAss+cEQzdARWw9t9u5r3P3zjDAA3D86MRWhm9s4PpnS8U6bgsf2B4+fkKpHQtpRs4Bcrav4TJeyvdWMWWfMq6v2LpcMMh0dCQzrERG7D87D7N+qA9rSWX4B7gH6Ic4AJyxB2AWYNp0KYnPAUgls/Rc7yWGqBgjQCLaYynixLYZnMn62yQjqxbxwV9E4zLWIvVkOwNdaA09ii+28nNUJW7AZdSdvdbEQxCoizLEBtiIreh8Evcfc7KQ7QFyAZxRDlvASlyDf0uJpk9cIFYA5ZcZBphVoSTqADrFRt0DkgJkWu1hgyxY6AeAinqBsGp7HP8y7qjpW+Ct1cbT+W8T1prtAWrRDzTDfQN/6BtxSP/Y4/Vp8iqznfhHud1YpB578SNl6EeOfx2/gf3+12N76RPHUcq/dC7osn8CYa7lG1n5x25uRbVdOcrsyhV3+lAroBXQCvhFASx1HBE6l7D0MWCtXgLZL7K+lxPr+/5wzz0F4Y/PtRraKgqPxH88njWfpL8+2EuuRZG5t/uV7eQGa02A205Z/Z9jie6cp+mre8j4+kkJdJDDnn0+LImsLN3EH/L2DeXXfTYAbQBkGyQ4F4hUYZ4BLgXAop3h36ONDbS1BaImZByCTzVk2/HAhwFr3UHj+0FbO+BoXYq5XwOL5rZZrOoA5BjtPGsrlthbY0JZP6y1icENAEu9ocfP3fqVXoYCbV3tzWuHtuJb/LiWZ3aD5yP/TFtAUwGsiERAqcBUOQdsFZiKPZ5/CyArG4Cu+hxc1a8Vxtr1gzKrnT/6lvjG8j4QJkx/zjGDQVs806e5uZ0vJe6No0ejCbbvu6nQ9njZWjpaP4V+FXuCHHM/p7AjW2lbZy1dejYwA71w+1LKXjOD/vzOfu39l/euU9Lcz6g5YifFp2VRe5f7z3c8xXulqZL/s3uzu40u9dXw8fnKfE9NdJ1WYMwogPseH/buXT5PxTuXU/mBDWNmbMMZSFdOAi+7/lbJ4qs8tIlyNxjLRQ7Ht247egr4Y67251w7eiN3QdvGdNoVfZqh7ZKwIko+e2PIITx/YWQ9CgRTGwrM9BckVX2rx8gstW5W+Hz56jUScCt7a5uhnkt/AH7YrH3Z+UGfgKrWDT7wmRg+8hYf4WrAr7z8dQwW08uWUEn9TrOZgDBALmyIBa/c6F1UczCF4RcAmWwAeGnbF5OzbCoXYfldxIFMWvQJcJvUPpPBJuAlNsQK/8hGlbFhjzjv3LvAdQB6Rc1buQw+iuN3EsoAZKtyQynlWAgDuJYWByXEzGA4C+AMG/VeQVv4BQAGsMPYq+Mj+TirbQUh+5azR7d+w3AZ2asAiYiRs0j/dR49enGL7eEHusWlfs2ZukWV23g8uEdTyueSY4XrHJq9vM8gEUAX92nc7jnsQ7ItscwsgNrqsiOcHYk+kWUZczKL7ZAVmdfVycATQEzgH3dIRLNzV9C07M0MywBFExrqqPrcCQaF26q2MShEDHg26bHGI5zFCtgmWaPwE98eRptLktgHnm2KfhADNmS+AvzhFd3aSBgjYkc9oDB0Bqgt74pkaAsNMQZsjV3dfCygE2NB/IgPkBr91F5OYpuW6420q2Ixg8KlWan070lbCVm+8I8YRCd2TMR9AgpjQ39YnhhxAIyiD2w7640MV7R1tEzjuJHpi2ey4h4A5MS4AHmxF+DoaS+gEvboR2CvCizR/hcxR9gfgDDOVQj6/544wG2x99SXr3UA0N7aSPze7KQeMUqcMlap87RHLADHH0eH0tSCNL4eo/nPeJ5rR1Nn3ZdWQCswvhXAEsgndkwi54JP+fO7XgJ5fN0P/phrNbRV7pkR+ZBvl2l7poc+NkGtskzy2h7qeicBuTJtU6/RwBwmsXHf9+waBrTd1UL2X62rfdgANFvIqbYxjt1hp6veDcC6IKEbDBRAp8BHSxuGjWobrv/EXMZ4KP2q0drBy/5MW1iqGrwHtGW9lPFw5/DpyuC10dMtJsv4JYPVzNB0A57qyOzBLFvY9InyfmhruTaIQdXcpQnHsDSMQpf2698fwSDQVrKNzb2dNp+Ymasyzn6obfSAWEdyU+Eq+hFQaoW2cg4bK1wFvF28bIXbc3FhgzLUWe3t+rHza43FzsZb32gz1rdAmDD9McfgemPJYzyvFq/lyzcylEU2Lcrv3LlLWVkFZr2aZYtr7OsvyVRoe7TC+CLvo5ijtH/HBnIs+RNt76ylc09+dLt9bp09xf8pvdxY4VZuPanasYBSF3xBOcVlVFVvZANYbezOsSwsXgDCLVcdBEBcFrLOzlSXaQXGnAKnsp0uOPmKWpxHKW3Jn8bcGN9nQMi8L9y+xK3p+Yo8fi96fv+OW7k+8U0BX+cNb/aeevfHXO2PudZTjEOp86aBtR4+kWmb0JhOmxPOMLTduDKWYrKNbM2h9AkYig3wzbpJ2cX2s9Yq23MBwLaVHgqlH9UEkFGgMcq7zhigD8fXb37Ppu8LbwXWCoQV2Cn920FqgCyxFzvsGdp+NJ2LGutbGAIiIzL31BpeChfAq6hnq9kEdQBbarYtKtMrNlJlRTYhs1KALsphm5q2gPeAuYC+lbtCqaxlLy9Vi+xX2ECvjpRUbtvQ2sFL++Yv2UL57RvZTqBtzqk1VHYmlLM2ERcydqFzdc9hbgMImtu2npJzDrLfgpObKLNyGY8TfeOlbr2Xqqls5X625TienqPq7mjzHGUAt3g+LjQRG1xPwOaUggWc2cl2+zdRfvsGtklonGbq1n2l3ihLNZZ/xn0G4MsA2QW4yxrC2EZApsBCQD+8AF4BNz9LDKcj9XMZ9m0uyKF1FQZMBUAD5JUN2aKAYwBoWNb3i6QYWpGbwecol2V34XNJXiL9a4IBS2EvMG5u3jH6q+Mh3ObLTCfv5+alcxcSH+y3V5UwxEY/S8vyaF7BYWq/edK41h0Z1NSXQsUXkqm87yLFdrXTz08cpF21xvNYBfAh9qpT5TQ5N477SeqI52evfpm+i+blruSyf4g6zBmwIXVbCTBX2mIvG5ZqLqmq5VM8z3d31VwqOL2VtUPM0Bd9QU+AyrDGTW6Zo1hKGPrIBgCr9gMf0EzKvslKZHiM898mG8s0oy2AMspESxyjLYA1ygC31TqAT7TBBsCMOEXjj08cZAgs9v/92D6zf4ljsD3awDd8Yf/XEfvd2lqXOsZ4rGXiG+3hD8AZ+ok2gPUCoSXGf008wWVyLj6wX11VRKfuGO+BGK91XhjuOYs4yD9jZa61Dk80k73UW89RjjK7cmmj91oBrYBW4H0V0Esgv69yI9/O+r4/3HNPEftjrtXQVlF4pD7km8+0vfPG6O3dXcoKVWCtC+DOq7zriuYN3ax0PdP2lRKgl8ORXR4ZnavA0hXMAOBn2Ahck2fAuoFHGYcFQA7FhpfmdcvkdGVnCvQLO+OWNToknxKP3fi4ToGqAjMZWr4HtBWoLPGae1l22Qo3LZpze7E1A+cD27Hy9VGgpxtsNdrbgm0ZpwmBlTgGhbauuGxjtI7LAoJlKK54+7OnlX7FRjKDlbEEA7RF5q35d2Fe90/MbNyRhLbe+lakHbOHgTBhjtQcM5IXTYW2R6qP8BdpH0fvpOUJaQxDQoqT6dSj/kwSxFKye6XHLFuJt680mX1UpMRSTlGZFHvcCxC+VF9Gz366S6XndtHpwjRKmP0pvXrx3GNbXakVGAsKILO2aMcyHkpvTRH/Db14qC7TMhZG6dsY8GEref7n1JYc4dbw2d1brI/OxHeTJaBP/DFXB+Nci4si0HZVxjkT2h7LHPwHTVjmVTZkTAKeoUxAJuokE1VgZku5kc2oQlTxAYAmPgFR7YCn2KI/8a0CXvQt2Ztoj34AD2X5YrQHiBRYW9VgjA8gVfxJH4Pt0R/AJbbkj41nzOZP2ML9qjAWYzjb2u3mBm3bTnZzO/EhBmibvcNYHje3PIec7Wv5/zyAkMgqxR5w8saDCwzmcIwyvO48uG0ul5vUsIIy68Ios32duYQwMjlhl1hjtAEwlfbYJ7bNpKyO9WzTdi2BMpuXcX1yhQFckT2L9siYvHi6hhJTZ/A5+2wzfNZtOMFDAVgVW+zjG2bxOfrBOG60dnFcFef3sz2AKfwipuzalabf2gtRlN7WrwF8WV+1Z+OorrPcLM89tYmPC3O2UGr7QrNcsnQz2ozYHHUzWa++65fZBuBWsk9TmlfR3qp5bgBRBV0AjIBmKNtQOo/3H0fYZ2QClAE8Yvld1Yf1GEAWfn8eecijHdqpsA9QT10i9z8SIwkwV/UPsHmsJZwOFp3g5YYFIIvN75z9kFjKBBDjfGKa8dxWHGOJYbHBHs/8RbasWgYIGtpWT9urD9Oe3GyGioCzc3IXEZ55i6xa2AtEFPCqLh2M+iUF8+nbnBD582B4ijbQ/i+P7WOgCWApfQNYA1oig3ZjqbH6Df4GxQZ1AuIBY/F3mNlziv3DBnH8JimSQS3OZcMx2qHvaUlxlHLmFMNxwNdPHRH0TxGH6NOo/mWTBfAirtWleea9gnKMHXF8kRFPhxqqzHgAWrEhLtGl7WIvl2V2tNG8zGQTHMMv4gGoxR6bwF2MV/SclZPCviJqKs1M6K+cUaZe8CPZ2uxklP8Zz3PtKEutu9MKaAXGiQJ6CeRxcqF9GKY/5loNbRXBR+5D/ht61tVDX6xvpyMnXQslv7lNdYkd9MW2Vpqwq4NCmm8bkby5T62p7fT3O3qo9ZkL8ioxejp82xHOyxphSSJfX0UdnjxLnQ1AGwBtxVbdu8CqCQBddQz3JLNyKDY2mbdqN65jwEsjE3OIPsUHj0XikULsMW4VlBp+Q7tlL7bGuXsWqLtmgwFS8cB71qUftLr5GwA1+1u6Q1vX2JW4B+u7X69+Xzhie/WaCayVvWnuPkYUcywKVJWMYHUsg8Xj3u9A30a37tcEbUZy80emrdWHNd6RhLbe+rbGMhbPA2HCHLk5ZuhXzNdfkgm0PXS0mw7XxvKXa/8Yt4EmVXUxDAk/upWa7/c/s/32hR4uB1T1tr376QWlzv+cSncv5yWSvdmjvjJ0C6Uv/5pNv3/cQ2mdC+nJretD7tNbH3gWr960AoGsQMrCP1J7svHlPJZIxlLJN7pbAznkEY/t4XeXWYerbcYypWqHOetnU2XoZrVIH/uogK/zhjd7T937Y64Oxrm2/HwRnWhLpIjGXFqYf56h7aH/3EK7dxdQbPlVPv/hpfFLXoGNF85dZCkBWgFFAUMBDTJ/bWQxAppK5is+F2IrScxn4AlACT8q4EVbvLC5LWHsAqRc4foHfvHqzqxhWCyAN3fFUROo9vSc5SV60Yf0Aztk/wEw3zlzlY8RPwCOgGW1H4lFygBdAXgFDjv+dgHDWoyvMyzXzKBFP/BZkJTHTXF+5VIfjwv9O36z0oxTfBfO3U4JBTMI0DSucYoJHK2g0tkynfJajB+xSR2WvsVzSG/c/o7im6aSo24+xTdPY/AKoCuAVux93adUzuN4qnoPDuqrsdbIbhTfvJSxDWhN71jEPlLaF/CyxM7maYOOVXwNti/sCKW0+t0D2ic1GUscD9YO5emdiym78RC3dZRP5Cze7r5KiqtZzM+uFRjoaW+FmCqwk3ZWSCrlo7WfUZDOSxn/Jn4jLzcs8Qh49iUOaStt8KxVPA9VzrFXz38VEUq/TTaWH4ZW1iWKYS/QGXUqLN5YtJ6wFLRsWC5aXv8aG063Hj1i6Ch9p7YYP8BwlJfRsTzj7w4/ysDft0DR+mtX6A8Jxn2Kv0N5v5EffiD7Vn7QIf0CsqLfP6Q5KKqoiP+GscT16Zs3aFZCLE2JOUGhSSmmBoCmK9OTqaCjnQSYQmtk7wokLTzTzX4EKCe1Gysa4H0JdoDBOMaGfV5pBc0rMGA37jHRAZAXG/ygD4wXfQAkH87PY0icnJXH9rDZm5HOdQuLsgjZ0tbN29zpa73Vv3o+VuZadUw4tmok9XblKLMrlzZ6rxXQCmgFhqKAXgJ5KCoFjo31fX+4555G5o+5VkNbReER/5B/q5c27Wimv9/fRVldt+j+T69dvb+mlw9uUWtlF01f30xfRPfSTd94reHn7WWq/tJ3YOv4Mo36vK+NPMRMW0VQ5XAgxBsIYIdiMzDTVumED91h3pB8ulwMBhEHQltX7EsLKDfsE+rPCvUObckr5HaP3zo6nNuOScoFsroBccOL/fgGg6I20JZckLqggBa7AVkbHwPg8kBt7OOxjs/GN4Zj8R8M0BZLFE+ZPtPtGbfq9R1JaOutbzWOsXocCBPmiM8xI3DHE0mrAAAgAElEQVTxBNqmb+igw3Vp/OXa7xJX04SKdorYuYwcSyZS7d2nZs9DzbKVBo0HV1Py3N+TIzmNXvzgnrErNrJ/eucmg5meglQuunDHyO548+4lZ/YC6A5ne3r7JiXN/T2N96zF4Wio246sAo9vXuO/gb6WGu7ozauXbn8TI9v7h/UuUMguCmTSAl7b/e12pEZR4pzPCFrpLfAV8MdcHYxzbVZ7JO06WU3HGvNpZnmvCW2xRLLMw+09Zzn7FcASWanF6UV8QavSS6lunbEUKgADAKYAWABc2Aq0daRm8jNUUY5nqXKGqmtZWoBatAcAxl6yX9GfminLgHhNDAPZjG2RlFlQzAAEGbYJh+JMGFpYUECOrzZxP3i+KiAt/MIecAPPfc0vrWBIA4CDWOwygCUbV4AtzmEL6OxYsp/6yjsI8LbheA6XYxydvdUMhJ3hTh4/L4kck03VHflUWFzB0BYZwNjw3nLn3n1K32xkgXoCjXZ1AI4CPgF0rTaJzXMHlFltrOfpTdt9bgMfaR2LfGqX1mnYp7TN96mdxJvQtIgcTVPfq634wD7+2Bfsg301TuGsUIGBsv+74+7ZtHbZtdWXe2lLgpM2VBWbEE/NspWlev8i1Mi8hU8ssWv1LX3a7X/rOE5/Eb7X9A+b/xN/nGGf2GMZXznGHkBUnmGKeP6/qFAGff830niuq2qLY0BDtQxA8FhbI/tB3xgj6r09o/UXIRtMP79ybOPMz1/HGVnK1hjhD2MTLcJLjzFwBXTF3x6AKt4/AFWjcnJNuPqr2KP0VfRxrocdbPDC3yH2VQ3N1Nx3mf/G2k5105qURP67w988bLDhByfY5P3h0Z3v6cXTx/y3ifcywFFkxuK9A+8ZsOcfX6RmUkRKOvfzj9FH6LchG6j+zCk+h6/s8krOguX2rqxYxIg6vC7dvMn6wBc27E/29TEIxo8+YIs9xrGuKJeXvF5TkE3dt2+yPf6BPqXVdYSMadjh/QR64BiZxNjL+zGOcc0LautoTlz/EtKms1E8GK9z7ShKrLvSCmgFxrgCegnkMX6B/TA8f8y1GtoqF2JUPuS/e0pX2s7SzrBW+nv1ubbrW2lJ7Fmqu9H/5bcS2pAPf+yKpASfMm0XUlGXwGNv3dgBNLsyGz8uyNafaSmZoEpm61BsrDDybgHlmitfuXwKuEQYQ/HpCncwiGgLbV0AE8vd9kNbK3B0ndvZWJZ47ul+6IpiKHoaNrL0tNHQMnbWSckO5vNPLM+iRcvB+2M9VC1hbuvH3oc7XB4itHX579fUzrdrrAo4DgZoC/nCwo/TlOmzzOfa4vmk586f50to92xaabNh8xZ+jq6c477DksfY7NrZAWBPfbOjMf5PIEyYozLHeLmOvv6STL4sTtveRKF1Bfyl2qT0ZfSbwhranxLBoGRxfhXV3X1Gd3pP8/lQsmwlzJtNJdwm++he+v625+dONsUdZtuXL4zMXs6GaZ7Ez3jDcz4BbV7/6Bn8Sr92ezwfFD7qju+xq9ZlWoEPrgD+tnCPPr/nWp2FiHI3zKHaY7s/eGwjHcDFK1epsLyKnjwd+P/k+sgQylw5xTaE2+eMVQFudI3vbGRbcYZY6Ou84c3eU7f+mKuDca51thxnaHu0qZAm119iUBv90TxSoW1DZxeDEkDUU/GllB6XzlmmKXHplDZ5BwMNBgw/m06Z26Oo7+xlhrXIqmWQC8iZmkkZEzaSY/VhcvzNHC5vPZvAlwQQA+3hv6y8htqaOqhxb4oLuh5lGwBbAFj4w9LEjtBY9gnYcdpRRg5HCrU6i43s17wwcuyJ5H64zwnrKDstn+0Rh3NjOB8XxWUbZT+bztD1xYO7dL3C+D/uxbI2QqYaNsAiZLxl5xVz/9JfakgsOdYcpqQVh7kcseTURVFCigGPEHO6I5oSI5MppWovJabnkGPOHjNugUvxDmNpXyzxuzgxjJfodbb0Z6EmtA4EsgCOjuyv+P9GKfVbyGnJMEU2K2xiGpZRZOO3fKzCSm5fPtEtsxcZu9BnXfFecmQ6bdtYfajnasxquRwntPYvrYwyR9EewpLEOLa2PYQM36oVlNax0FwiWvyo+8QWA0wn1w0OjbEEstpGPXbu+4NRV2MsQ43n0GIZ3N/FGIARQFHNpsQSvABygGOAYP/jWAgvkQt4Bu0yczLpX6LDGMj9t6N7THCZ19VJa+Id9G87VxLKsazuryMPM6TDOTIkZ6cnmvb/8/h+WpwUb54jDgBLgaY4x2ttdjo5OlsIIBk+8EK52vcSRyz9rxO7uXxZaiKDPJSJD9kD0CaWlpnliBFZrTl19QxUkVmKMQL6YTlmaYc9dIDv7JZmLv9DyEb678f30S9PHKLYjGzOToVuiDOtuJSzQ7EcMDJToeMXcREUEh3JIDuxIIpjhKYApXh/QL/40QT2OMcGAIlxAKTixxGowwvvJfHHjb9x/E1KOfYCd+EDf9eAsQCbcv2SoiK4LdqhDLC3uq3D9IH3AdUfjqHL0kO7qKYgh+vwvoHyB48f8ueTjusGIMZY4Bd9YyzQF/2fu2jEjnEABKM9/9jDFfv+wjxChi/6kR+SYPzy/oHrgf4wbtwfOIYv7OEH48Mx7j/scT+jXN28zZ2+1qu+rcdjZa61jsuqkdTblaPMrlza6L1WQCugFbAqoJdAtioSfOfW9/3hnntSwB9zrYa2isKB8CFfCee9D28WhwwR3C6knOJbNKQkW47GDqC5MjJdz+jsh7I24QvwY9sVlNtdQIvd4KUCBQezYR/9oLenYAUtVp4P6g4yXTEMpV9rpqpb+Bi3AkClzpLtaRQbGsmzSwEfAS/7IaRhxUBTiXtx2Bl6IH7d4pVlkq39u8Cl6qNAwK9NH4Cv8KuATrbiMVh9G+1toa3o5ObH/r4QICzXRMYsWrB/JX5DM2ss7nqKruJTJAsWaIt4AU/NcfziE4p1xJtAVn32LOywCYCVNrBBna/Q1lvf3NkY/icQJsxgnGME2qbsr6GDdaUU22xkQPxTdgFta65ggLTt8EH6uukyFe3fQFmrp/l2F717S5lLvqK8jbPp/KXLg7b98elj7qstqf+ZlfIF4NUHzfTg6iWuv9pq/Fp+UEeDVAAEA4Zh6Vns7/aeGcRSFweqAi9embNooIY47Ljww4L0Zcby4OKs7sReylk3S07H7L79lJHtgi87O7vP0Nu3/f97zVo1jepP7Bt07Pi7bkkIH7ReVwSOAv6Yq4Nxrj3elszQ9lBMAi2IqaS1m5MZQIbtjKUFVacY4uZX1FBFTT1D1bzFRyjheCKdre1kAOCYsp33ebkG0AQsLYtNI8ffzSbH/17KvvoaTxu2X20y9kv2c3lB4R6GB4AjgBmAvPCTlV3IYDXp39ay3c3ea5Qw2wDAgLYMfQFoHA6Kj44kZN3i77MwNothb1yJEZNjwjoDkkYkkCP9qNE3t0sxjlGOc1ecLY54ts8KWUlJn23kOkCe6taq/rbo3zWO+Kik/vLUTCouryaz79RMqoxLpPgQIxYASEduhBu0ZRiVmEzOzQZUTW8NYYCFZ3wmNa4wQWNs3Wo6nLeX4mrnuUHW+IhvyFE4kRyA1LkR3HdcxVq2y6g7QHH1M2lbXAztKp9t+lKBpcM5h9scLZ3Jfkp6DrKe/xx1hMGOahvfONsErI7UP1J0/QzivvC83fq1HFdCaYh7P41TKKX8KMU1GUs+b8ndSbmNxymubJOhRWomJVZt47ZJ+fFG26oVFF2yjWakbiVHdgzldGyj4rPu2b8O17NyEV9q2Qlul5Ua2t83dKpYS4crjSxewC2cH6tRdGicQo6Cg+Tc9Htuty0plnYUrOfn0B5ITWN4BqiGF+4RAZTfxEcxVEMZIBogqSMx2YSE8YeMbFTARLSVdlheF21mbZzPYA1t8YKdZEcC1mHZ3SNZWVwHe0A4+OF+XNmdaAe//yviAO2OOMJgE+BO4gFABfz7y/C9hCxQ+AGwAxjFMeAh6v8xdDu3gS9AXokDSxAj81VssUedAEG0hS+0Q1zoB33DDmPYXJBDx7euoF+fOGzGLfBUfOCZrMgahT38QQdoh2evwo8AWhxbX3i/QIY6gCfawjd+HKHayd8d3h/UcoGZyMLlH5pY/CMGAb7SDjHK8YC9w8GxH9y+mpy7N/K9ABv0W5GbydAWfaI/a1uBqNZy3E8YP64T6tC/XDOcI8MWm8S/J9H9fUjaYA+tJP4TcXFmDNDuQ23jda79UHrrfrUCWoHgVkAvgRzc1+9DRe+PuVZDW+XqBeOHfCV8t8Mn5wsoZ4KHpZInhFDd+Sc+AFs39/45sQBYW6dWG+u5bSMvhf7w4aWL965GbG5A1PDEwNOa9freneiGWoHxp0AgTJiBMMf4+ksygbZJ4WV0oL6Molrm07rCufR3Kam0pbOeonYspshlU2hZQTXDzou1JT7fXG0R2ylx9qfU2mw8U8rOQVdOAiXM/pSeu54fBZvsrpX8JV/XjSxugky79804PF2YxvHfv3KB0pZMovzNC+zC0GUBrEDnd8ay2QEc4rBDy9+ykKqObHPzc7oone/dsb78b0VtA2fZdZ89z194ZuQX041bt3lJZPzQAkskD7bVhO8cALsHs9XlAxXwdd7wZj+wh/4Sf8zVwTjXhnQWG9A2LJaWhBURsmwBRiN3RdPG4gYGtwlp2QwjMlfuNYFlblKuAQA27ud9Sko2twMocETsMyDplnDOeM3Za2R4OQSSOlIo/g/fUHz+SjeIgH7jE9IZeADIsq8t4ZTgTDYyZwFX4fuIAZ8AVxiwJCazLYOaPZEM6LitCmSKjAzXAeUcbwI5Fu83oEtqJsXFrTL6A1Q8dIAcKYfMOBkEhx5hoGj1FZ91jLNDzfLYA+RcNYvb4nmpDG2RIVxwkEFKVVoqx+9cP5Gw1PGxsuMm5DtRvZD/nxFbO4++ilzL8As+8EIWKgBk/KFZFJ3+DQNWs8/keM5gdaSnMMxFBuBCh5G1CggKYMowtvpbSgnZwDBvt2M+Z+0iuxbQ6qNjIVwu/cXV/on7RQYk2saHzqAdpQuMbNz6mbwPSY0m9Mkgt3Ye+4s/sJjLAJXR7nexxjVAph8gHcdctIeiyzaakBgaCZREfXLFQSrpjCCHC/wCREcVuZ5lW7PYaFc/k5KOH6FjdUZ28qKMzXQiK4r+3bGD1hTPIYZa6Sk0L3MNhdZOoejaueb1S5j/ewpPm0y/UJZANrV0ZSXiXpTsWAFkgGoCSs37EFnc21fzjwngQyAq2iJDE3abti7ncQNeQoMjKSlmBuSAfl33L2wFisIG58jYXR8TRQf2Gz8KgKYonxR3gsG/9C/QGXBT9Q8weGTHGi4DfFWh7K7d603YKm0AGFUfco3QJ8CtCiABCXHfw6cat/jCvqyphUEm//26xuncvIzinM4B0BT2gKBWAKv6U4EpynEdkuJi+0GqvJ+49mq/4gfwF36kDuOAD6m328N+R7KhJcYcH2a8VzD8PbSXmvPSTGhq196uzDoWtpH4XVm0kmXLdXj/czjMuO18okxik/r+2W/g81i9zaXe6lXf1uOxMtdax2XVROrtylFmVy5t9F4roBXQCqhLIDvnf0qROyZRfvYJLUwQK2B93x/uuScp/DHXamirKBwIH/KVcIZ/+PY13TxdStWh4ZQzdRklT91F+aFp1HL6Fv3Yn6Aw/H7e18NQ4KnFhrMzbaCmTyFYfPrUdoSNjezT/kxiozsj29RjFvMIx6XdawWCXYFAmDCDcY4RaOuMzac9jZUU0bqaQkqn00eOGIa2h5ONJYWjlk6h9FVT3+s2eXCunaFTVVSIbfu3r19R2tJJA4Cso+Vr/gKy9pKxbGN7SiQlz/+cYO/rlrHiW6o8tImb9dYUGQC6zncA7Wu/2t4/Cvzw6iHl9azzj7MA9fLm5U98X+IHBur2/ZmTXH734tjODs/IL6LGtk4e+rPnLzirB196FibE8Pgffjd4pr4sK/3oxlVVOn0cgAr4Y64OxrkWz7PF69CRWDr0n1vI8ZHxw9s4ZxpFpOXS4X3GcpsAGfFHjvCzXPlLf2SNAgSg3JLNxpmfBQf7YUd0fP8xYCLa7VlNjvx5/eUAN781ztnnob1mHQAIlj/GC5ms8ZEHuA5gBiCCIYvD0Q9dsfSuCwTJHjARx2omrNRxvAA9AKzJ8QwoGXrCR24ExcevM6CRwzWm5FAzU9T0gTE591FcyXyzb/SZsMiIhUEpwC2WHUYmcGIyJWxay7Hjxx+OpG9ojvOwCW1DizZRdPkaCi1dSfM2z6F/DQ9h4Hq0aAttLFhBi7LWkXPtt7Qhdg5DI8TB2YpYFtYFscPDD/OyrRsPTqPdObsM6AZw2zyJkhN3U/ym+QzVVhxcQIcOTuZYAM4A8abHRRnwu+AgxTu/NDWJqV5MznWTaYljPsXFRlNhm3H9Zx10ZTdnx9D+9OMUHzaZ3x9FH/QpcBBx4vmlDG5zI2hPXCj9R0IkxwV9JEP1cGYWa4ms271lxvLHsYlLaWLIZrYF2MbSuoDRuHZ7KuZQRMM39DvHDgaY3F/aclqaksBw919ObGOIu3f/ZvMaQfuQuG9N3fEsVgasyj2NHwOgHwBKGQ+ypA/n5zGsRH0m4nDdQ1hiF8crEhy0Jz2dNmWl872JvqLWzmOdAX8B+7KPHXSDoezfdf1wDJAIQBy2YSElrpnDfgFol29bxvd+zDr3v6FFGUk00xlj2iHrVbJczR9CIM7dGylh3hdsB70ZIGdl8Hnkyhk060j/3x/iOHriGDlXzzL/1qEF7knUAc4CHvO4AQ+jI/l6wKcs3cvjsvxNokwgKbJHU9bP48x0Bt9YTj2/mP3jfub3BBcQtfri/gBblfcM3A91eRmUumEBlSREcz+4rimhu9kn7nNZ6liyb3FN8/ZvZlv0Ad2LTyg/2HAtQWzGhfi3r6ZjJUWUsW05pa2YQsm717P/5O2rKGntXNOXNWZkyap+EAMgMQNvZSxig7FJnKovjCFp5zrWnmEv3ocO7WU/Vvv0rcs4NvGZlJlLp8/3jvpsPF7n2lEXWneoFdAKBJ0CdksgR4TOI5TrTSvgiwL+mGs1tFUUD8YP+Ur4wXc4FHgqNrw3lgqW5XXfe8Di870djGxDWUZYlsPFfthjHtmQtXetQMArEAgTZiDMMb7+kgzQdlLDRXKkZNGO5hoKb9tGx6u+ob/AF2eddbSnuZicsz/jLwUvVBe+932QvXwS5a21X1q5t9qAqPcuGc/PQieAdPzla/Mkyu/ZwP3eudDDcVw/OXjGrl2AV5qquN33pw0g9Od37yh/03zOuH390492TXRZgCnw3cMOvh8CLCy/hnP7fDffp7fOdbn5/fHJIy73lGnq1iAIT968ecNfcp69cNEt+ivXrlPSzrWUMOf3hDrr+5sY//D4AWuErGS9+a6AVdfhnnuKwB9zdTDOtSa0DY0xMmUnTDX2ktmFZ8MCBIRsZ3DC8FSBn/HhIUZ5RALFhxnL60qGJsMFABeBKQC24bvYn3PHNHIkzKT4Nf0ALa5gq9FX2CEjYzE0jjM1BeLAH3w7104xfKyaRYAv8avWU/zkZeScMp3LMUczdEVmL54hiwzdvNmUnHncPRPWBZEE5DrnfEP8fNmaueRIOmwAKiyhu2OaAV9ijSxJZ8hSE/46w/tBnnPXYoqr/YYciBu+s+bw3z/H3TzJAJ/IOq0wYC1id65bwDZJa/9IX8Udo78I3c4AcUbWUtpVupmWZ26hsAVf0h+3L6eNqctox+6ZNDF5I9ucWDaZJu9axM80BYjhjMcN82nKga30WdRR2rp2Ds3du54OrppIH4Vtoflhe4yMyPKJVBiyng6vmUHfbllMszbNpV07v6bt+7ZwLB8d2Ez/Fh/BgDmtOImi1n/JgAmgbk/FXkpYM4kW7J5Dx8P306s3P1DohoUUsmgiQ8i5een0V8dD6MTKaebYAaKORk4zwSieawqgiue2Qhv0i3EfrTL0xfLMqE8rNp45jONFOSvoWN1c2rNmCv1p8yLaUjaLDueuZzvAT0C6xXlLaE7uIi6bf2w/7z86sZX+T/xxWrRpEf1+21L6PGoFhS/5mtJT0ygnO4tj3BXyDduin2WbF/OS3QCUiC0t0UnOZVMpfOU0tyV7mzOdhCWPAVAzQrZQ0TEDciYu+JLK0hLZB6Duyb4+ik6O5/sH0BYgD39L0KQ63Unpu9ZyliTO+Z7B35ryQwiARDxrGW3xEvB6aMcyQl9SLn8j26tKKK66isE9oCO2luZWKoo5agJEBoPLphr+EpMZrB6ICKeqLOMHFfC5a9NijkfAX2pkONsXh++lmuQYCk/PoE1rZ7PNhtxMOr5jNVXk9L9PAAgzmHYBbIwNY0nGUr7y3uKC3OlHQ+jR9T6GnvL3ABt+1mx+Lr9/QDMTSrqeVyvvK9ArL3QnAZTW1TdQ1uHdlLB4EpUe3Mwx837RJO4/dYMBhgHAsfS5PNsVmiC+rK1LuB/8Pb16/ZrP5UcpnZ0n6dUPL9gO7WAPrco6Oqhs/zo+TlltPBcaADd95VQzZgHE0CEpLYPHBlDN1zwxmS52dfL9BcAO8Iv3hozsHH5uLV+vzcuoq73NXBKZ7xvXM2uz18yg7vxkE8JnbF9BiLWtqdHwjz6jIqh031peLjnJda8507Mpo6CYvr99Z8D/YfRc6+l/C/Z1opnsxcp6jnKU2ZVLG73XCmgFxpcCdksgx0WO7R+Fj68rbIzW+r4/3HNPGvrjc62GtorCgfAhXwlHH2oFtAJaAa2AnxQIhAkzGOcYQNs5NT38hcOW1no60n6A4dh/CdtNWzvrODOo7OBGylz5flm2cnkbInbyFy3P71yXInOfu34OlexeaZ7j4PbTcxxHwemNlNDa3zcychtjDrrZejsp3L6E8jbNczPDM23xJVBHWrRbua8nr26cJ3oXCEtb+Bp5cNl3Xk/l++HBi77gCtyHaGUZZLsfEmQs/4aaHUd88BZcpvcfPOT3oJu37gwIvHD7UsrcbHyxjS9kHz56PMAGBYXbFlPp3tW2dbowcBTwx1wdjHOtQNvDWHL4Z9MpYuUiOrB+jwFiJTMu08kQVSAJQENc6RrONnXuX8RgIn1JKDmXTifn8vnkSJxGcaVTjSU7AWDxrEe0iVpOjlWTuRzL0jo3fk7J8yZyHeAnZ8NGxZJz+TJyzvqTsRRzojFHA4Qmbgnl57Q6N/yRfQC8ANY5p8+lik07yfnl5+TcE24s9ZsbQZW55dSwOobi//ckfmZr1akUio81wC7DEozPkWrA1NRMSpj1B3KkGM9BTU/cz7AWQBdzMmcEHpzLSw7jGbQJRcbzK8uT4smxxgC8CfP/wPNB+q5oio9DBuhX/z977/0d15Gkib6/5f2w29s70zPTPbNjWjPvdfeY7e55s6JEI1EiRVKiBei99w4gQBIkQHjvvffeew8CoIMnaOC9I+OdLy6i6lahqgAQRQqQbp5TTBcRGRmZVUnc70Yk8wY5XVW8VYu2k3/iFR4v5MIZCji6nfshH58L5/cxIAnwcF3ISfpT4CXafvMY9507vp2O3N5D3jZf0v/7UAErwfP9eRsGHPe4OtLWGycZPJU2z31f0rUjW5n/6KmdDFoevHuVnL23UMD+TQwG25zdwzx2x79lWZCJ0Lv4XAfglpxAvjZfUFxMOH3jfIe2RAXqdD598QAdjPTT1f9kp+gF/QE0Q5an60O653SD7l3We7OiXz6/c7YjzwNf87y3Rx+mO14eBND4D7dPk9f1o/S4/QXTbn5wmA7d3cMyj536gQ4n2tJNp13MB5A4wHYj7b2xj75xOMTzBI2MgblDF9gQclG+dN6G9ro7cPnu+c26MR3P2dLAqx5ujw70o/grB7kMnqK0RN6r4b5e3Bbn78XAfvKtk1TofIlyszK5PerUDwzKRQb5UEdZDgHojDynAPgA8wDIFYT7MdAHkBDyAAJ2dvewVyy+Z4mPHLiMtletDTodom6fo4zsbIq6oewL6IUPvFSxp9OTwqn99WuKuHudipNiGAxFiF7QyPcwJTVdJy/o/m0qLilioDA3wJXnIzIBag+8fctyGQjd/TnFnNlFGQ7nGDz03beevX3TG5SoGwVB7hRy8gcGWSEDwGfAwW8YoIZuT0rzGFAFMAvvWYCRwad2UejJndScGa/TCbwJoYH0fnaaEq8eokCbDWwzAN7Bjx5QCABlP2XfIQfYnGJ3miIuHKCmnBQKP/yNgSyZT3dTDSXMr2fw/k0Ghw/AUoQcDj24me30uLSA+8HLnvxhUZQZ6MFyMc/a5EhqaW7melNtNdtFxsELAbryhQOUkZpCVYnhbEfYNM7DicpC3BmMh10AgmP+AIHxSbhxnEIOfEWtJdn0sqaIsF54cQD6A0iGPpCPFwp6mhTbY13Qxh78uz8n/H2BdYd8yEzzc+X+qvpG8gtUwskDtA2NSdAB1wYG+YiVn+tZ+xFNqonWLKBZYI1awOvRUfI+t5F/nyUEMgBcLWkWWKkFrHHWaqCtahXW4h/5KvW1omYBzQKaBTQLmLHAajgwV8MZs9w3yQDankwv4wcO5yuK6H6FGz8M/bXHZTpZnMGgbWNuMrVkr+w/ts1VpcqDjID7BivYVVvG7R1VRQbtT17nsh41XVGcj08PcD+Aq7CDmw1oLVUEnH1iIhRygbs9jz38qtuSCLN972emaDjLl2bfdJil0TqsY4G0phu8D1pfZ1tHIBE9K8ywmixrCMpxvk6409ZUyna6TAAvf6pJ7o0bGx83mKKEjMad1wB241Iy+LeqpKLagA4Vvhd79+c0PTa6oE9r0Fug93EtZT+4Qthvr1sbuGO558Zi9PrRFpascVavxbNWQFtnrzvk99n35HLvCLnGH6GA20ooVjz0xx2sAUd36kAfDr8bv4f87+5THjRdOkqFnq4UdBAPnjZRwPX15Bf2FQMNAce/o4DTClAalLOT/K99TQHndl2/S/EAACAASURBVDOfABv+7k7U1d5FidUXyW/jLgrYMu+l+Ttb8o1SPAL9/20bFYf78+8t+AS4YBnfbafKME+KP7WfqhIjKODilwyuVqfGUskDN4o9acvjxYedpcD96/i7ynMIdCP/G8fJr3gHhfmeZBp/z808Rrjzfgq8sJECww8outpsoKBjGykk4woFHt5I0UlHKdjlBMWVnqPQHbcYPGbQJGkzxdvfJv9bO3SgbaafgzJu0mYKTtpPAflHKcZJ8bAVG0gOsPNPIZ50LtOD/sv9hM5OAGDvnfiW66ARIBIALYBIeLriAzkAJxHmF2XwiWwAmV771jMIK20C6kIm+IQffD843ybXADcd/9nj2+mv3B11dfDCe1VkQf4fvJx0wCja78+P6XTkK+YVIBXesijLPDD+Lx9doy125+jqka0MxoL/wVHFC1bGQI55AuC9cVoBpAHyoh22gA7QHfIgHx68al7MQeoyd9cDGwngNT4h52x0AGKWrzOFqrxZwQePT3gpi4yKJID9n1P53WOU4XJL195ZU0rRZ5R9HnVS2cPCA0ANwKIAbQiRjARvU+xZgKvw3EQI3daCDCr2ddLJhYz8uHAG5UQe8vjLByjI8SbTAQDM9HCksEObeQzcrQ6aoPMHGShF2GA1b8zpHyj04NcMJMZd0u/LiDN7GKDFdwUgspqnLjOR6/Dwfd2meJwKWFrofZf7EFoYPPD4BJCJfgCraAP4DKBUZOLlJikjB6jdU5Fr0BZ6ZAvrGXLga52HOgDw6tgglo35qmWYKkef2KajqU8IZUAc9spNjKWujnbuCzmyle0mYHmslwsBoJd1z3pwjfvT7in7znicuFvKiwHG7bnudyj68mHd+Fh/jBV9eidhjepz06mutIjSbyvf+7CDX1P6rWMc5hmysKfg6Rt84CuWEXZsG5V66PccaFLtlN8xlAFAR984SVUJ4bqXBh5XlVPgpcPk7+lBAG3DY2Lp5avXC7w+FztLF+tfeMLqW34qZ61+RkrJ2CbSb6odbabahUfLNQtoFvjpWgChjl0ddpL/ESViHHItBPJPd73VMzP+3V9pXS3buGyNs1YDbVVWXQ1/5KvU0YqaBTQLaBbQLGAlC6yGA3MtnjEAba8n5pB/UAydrSghx8pAfpD6O9/ztC8ngUHbtwNvV7xKAFziz+yg+FPbDWSl25+h2HN7DNpQqepQPCtfj7SyPi+Hm5imp6GSH6K8bFoI2iwQQsT35MI719Q9uOMDfXxHbtb9y6ZYF22bbC6ioVQ3Qq6lj2uBgLIdvA+KX3hbZaDH6bG8jxCSeLWkiGNbqcT/oUl1amICWF+TnT+BxsraegqKjF0wEwmJLqHNQVAND5awKBoaHjagf/u8hW3UVp5v0K5V9BYAWBG0V3l4EWyznuDBPdSzMPqBnsP6JWuc1WvxrNWBtp725HvlO3IKOkN+GZsp4MJ6vt+VQduUXRRo8yUFHN9P0fddGDCJrjhLwdcVEDH4wlYKd/uB97kAFQFHlfWUeli0K/9WBtgpgIO0Iw+7bUtPq0opuGIXhVxUZKI9YO96HfAZuOMLaipNYxnoS7qoB0yCD3/DIBdAG7xQxbwxCmgZOg9woE0+aTkhDCiHOJ+nwJMb2AtW+vwfbVTGOLqewV9/L30IWtCEuikAXFDQVgZ1/ZI2U1eTEkIe/f73N1Dy7VMUcPkrEt7I8/NA4f51CqAd8BUFnDa0j4yP/LifM3W9qiZHFSCq7leXAVLuu6kHatDnf1QBM9V05soAN6Xv1tHvdGW0AVB1NrIfgFGhRw5QVeq+toq3iI/tBl2b9CHvGhmi7+3PMugKYPVLuzMGdACARb4abBYwWS3L9bLiWYi2U/PgqIDWQgfQ9tvbhraRPuSPDiie0Oo2gJcAVdVtBmUbZY7SVuR5h2nDjOZsUYZqL0IOgEwBcLGH4XmKdnh0yjjqPOWWoZet9Em4ZIwNz1Nplzzk8BaK835EGS63F/SBRkBXoZdcQGapIxd94f3aXqBcJSL9xnLK0xIYhJV+yRMfGgKO0r6cHMCl6LIcPqGVsMaoR55UXhaRPplHquNFs7YR2pXmGAsfAK1hBw1/I+EBDfkA75ezr0zpJC8hBFw8TAFhERTp7EAdlYXWP1AtSPy5nrUWTKJ1aRbQLPAzsEBCjDu5z/+/Gb/P8LDVQiD/DBb+R5qiNc5aDbRVLd5a/CNfpb5W1CygWUCzgGYBMxZYDQfmajhjlvsmGUDbh9HJFOSRRGcrS8i+KpYfpP5X8CnamhLBoO3g9KQZqy+9eWp6mpKcrvIDkcHnjczY1/aU66buys194kSxtSdpanaE9Wl5laUbDA+HSwOcdXVzhZE3L1k+AC9zqT4xjGnUoJA5WnX7u7FBBmwB2o4UhKm7ftLl2f6X9G5y7JPOcWjiJe8B3J+IcNkrTc2Zcbzm+EMO3tarIcldek8L0k2q015ZyDoPdreZ7F/rjZn5RZSYsdCLWkJGw+tF0uDQMIO27V0LPeTDD39LhV6OQmr1fGZmxuoyP6VA2NMYtMWd4ss9NxajtzQna5zVa/GsFdDWMfMe+aRsI+/Mgww2wlsVoY8RftQ3Twk3GrDlK0q8NO8RV7aTQU0GBvabByB1wMHFjUwPL1xdmwq8Cjv3LYPFxn3+AXpQMe6OrW7McDUwefQLHajCYCqAy8tbTI4D+ZFXFVAs9IoCbqoB5gD79Qy8sh4AWe1N64t5gA/6lRUr4XJF9+BjG5S5GgHX0r9YDhAKAM5SPAd9bNaT9xHzc11srJX0+yxz3Kb4AN06mRoXQK2DEShsis64LcgE+AoaeCCHnNZ71hrzWaonXj9KiRcNAWo1vXiGxpwyBPrUNNYoL2UPmBoH+0fa1cCktC0lT7A7u6Q9mHZD721tSi68gFcCrJqSuZK2RFXI65XIWSpv4uV5b33V7x14sbaRx7exl60lWQByLfVb6rO09nhBKuLoVmrNTtLOWkv/OVhin/H/P4TNVDvaTLULj5ZrFtAs8NOxgBYC+aezliudifHv/krrlvSxxt+1GmirsvBq+CNfpY5W1CygWUCzgGYBK1lgNRyYa/GM2VL4hAGQsPuZDNreqs5ggGxrxFFaFxPAoO3A1IRVVikiXAFIK71us7wCjzsEkGV2emqB/Pj6s5TZ4sDtQeU/UFmbv44GQBu8EhdLFaHKvVgTQ/1mSedmZij61A8Uf2GfWRpTHWMVSRwaeaqtjsHbTw1kTk1Nm1Lro7dNPq2kicef1lvg2dtC3pMZzXacr2SScp9bdZQv1SWE8AO6qVFDj82VyP9QXniH4oHgYI/pUNsI4Y3+5yULgc0PHXM18eFOvsKyigUqISy0qZDR8Eqsa3q8gB6ALX5TPlZqbG79WKI/idwn+WkUvE8Bx/AgGQ/4P7VnsjXO6rV41gpoe6/kLv+OwXOUQUwAlhfWk/+DQ3pv173rdOABg7oWvEUtAQlm+/br5QuNGlCVNku5zoN1Hkg2BxJbkqHu08kzAlyEhvU7rezdoGMqgNfEXIRnJfmd+5d1a7CYHAC6xjQJ9y4uaDOmWWo9OUjxAHTG/bi2m8jPUfFuNsUfdVrviQ2wytUM0GqK11Rb/KltFHvRlhLCDAFzNe2p+Xs+1W0oS7hgaRcPXTVAWuVxjQAyC41xjlC1CWcV8N+4T12POvw1VbheopjThrTRx7ZSoZsSzljo5f8BUkf+JF3xHEc57eZR6sxQ/n+gprFUxv8nkBIuKHfqhs7bXYDEgoeXKOH0Doo5pVqfee9q3KH6vDiLbQD+1MvmQWxzOhT6K/evol9tg0ijkNGwhzkZy2kv9r1vUg7mHX1c8QqHndVrvZh80GK9Ea5YTauWAdmYX/bD60wDUD/hnOIN3hLvRwjLHHZA/wIK5CCke0ukq8GdxbXRyl29NeGmvazV42fdsgyWY+1768uo0VP5zcAc1JEHcNZGndxOg13tn+Scl0F+rmetzF/LNQtoFvjpW0ALgfzTX+PVPkNrnLUaaKta5bX4R75Kfa2oWUCzgGYBzQJmLLAaDszVcMYs902yfTl1DNpG3cins5XFDNL6ZW+lY1H76V9DPbjeN2l4z6SZJVi0OSkzh5Iv2VD0kW9orP8NP3DBPZSmUkDZdiprUzxkkxouUXqzAvSCtr2igHlxX625BM88PDQp9FSAX3N0aO+oLmZ5eMC0lIQ7bOFhO93ZRO8mRpVy10IAaSmyPpSmLDudel+/+VD2D+YDWI25v5uyzp5YiiKlbX6E8MjP3xYx2NE/9mEPvnAvMx7EVUX68rAIj4364/SYpajxUWnwUBH71VIKsd1IleHWCQ9taZxP3ffu3Tv+DWowAYji/mpTXvUxyWmUV1y2QNW2MuXuvjfPmhf0WaMhJjmdJqcWvmRiDdmfQoaAFdhLkce/o8z7l3jY5Z4bi9Fbmos1zuq1eNYKaPso5xaDswYgJYDH/ev0nqdmgEs1kCBlAznL4MN4IsNkPt8fdEB/V6tJOoRXBqjsqnipIWxx4NFFZC9HTxUtA9jwvLVfT+b0Ag28cv1Pfcl6Bd0xBIDczuo9I9XzyXbUhxAGSFTf9YLuuFyn8DOGIKCaB951uOvSyeUKBe7fSL7n9LQj3S+WBVip5Za6KXejos3/xDYGslC+7nCe749NTwrXrd0R+7N0Kz6E7lw7wuPpwgjv30QA1qL9De9pTTm/k8LngbwgFbjlawR2YjyAX28THtLr7g4GpdQ6Llb2t1lPTUmGwOfeu8odtThzwY9zrzPGmfrLksk47DH6o49+y0Bb5lXzICZ+0zIv7ebPkyB7Sr9zRndXKWQU2R2i2f4eHYAMkA+RLRLP7qTMy3uoIcKNeuOcCS+kYTzwdKQE0HCmj87GaDP+AISVNoDTkIlU5akAxJgb+ltivDikeG9REnWG2ZOsLfSo8rFjmtFX3TTVXk99Ke400ljI4DN4Q23XE0BfS16coEM/EnIAmgAN4y7YcH24Q7k2AHRhB76imkf6e4LRBg/m1MvKndmoPw50oDLnC7q5oa3cbyFA+7KmyIAGdPjg3lsBvHFXrdpO0Sd36MBpAWLVwP7T7Diex0TPM14fzCf1ii2l251i2fEntrD9AJA+DnIk7GUApu2J3gwUj1enUa3nNV5z/J0BfbDOuBYA+/jdxIhOZ6x3ytkd1JYbzzSwNeiTLxjeA442/J8XtCjjE31U/xsCHfH3xkheMNPh9wCpwPkqpV1V7i2u8LxJLx/XcPtiZ+dy+1momX9+Kmet8fSMbST9ptrRZqpdeLRcs4BmgbVpAS0E8tpct0+ltfHv/krrlvS2xlm7qkDb0dFRam5upry8PIqLi6Pg4GDy8vIiNzc3/qAcGBhIMTExTAPasTF9SDRLxlpK32r4I38pemo0mgU0C2gW0CywPAushgNzLZ4xp9JKGTCJPVtK5+ZB2+CU7XQ9ehf9g99DBm1fT4wubzHMUBeUVlCymwM/9Ei9rtxlNjE8uIB6YmaIwbnmXiVUbMEzN4qsPqSjm5mcYBl4KGYuPc5QQuAiBPNSUobjeX67f2pkEa/L9+9oJD+ERgrDdWJHCkJpvMZ0WFsdkZULoRcPUUaQl5WlLiLu/XsazvTmB1MTn/Ae38SGi5TSdI2GJ3t5Xzx5nbuIogu7EQIWD9vgYatO2Q+uLNvLWs1vrXLqrROUeddy6OfU2ycJ+/Snlvr6B/g3qKun12BqQz0dvGamvIuzC0soPi3TgB6V6bFR5jH3MsgChmU0TExOmtRzGSJ+VNKexmq2TfqDs5RSdZnSaq7Tq+GWT66TNc7qtXjWCmjrHXXQ4j2rAgwY5wAjjdtQh8cucgFvQy5vNgv+hp/fqgudDOBTvHhdT88Dmyrw2C9GaQuK22Y4ru08IGu7jsFR1svHhvyCzrAOfmFf6T2GoR/u1p33xkWfzCH85HzI5HkvYj/bhaGffe3095q6HVfuwEUIadyHG3FVD6KwzHmgOM3/LJ8TV+9tZ3AXZ4eMify063mdJyBAoITze7j/RUoQAzNh+zcy6IUvRkJ2FPUVxhGH6D36LeXcu0Dy4gNkAfABUJQZ85AKnC5QrP0R8jywifIdT9PM6zamjb+8n2oenqYQ2w2E8QAMVgTpvSITzijziL15XKfny2w9KBt1Zgd1l2ZwX2JOCoO2+dXF7LUJHc7EhVDT21f0MDmKQbrqoIdM2+JzhXoqchmABB3AJeQAMQVwy7I/QV4nt1H2nVOUUl1Kju6KrcRTM/e6DZ/3AD2HSuN1+kEOPtE3DhCPB0/Cw1/rgK0rF/dRyKnt1JUfR/6XD1Do/B28t4PvMbj6PFABNnsf17D8sfJ4anC/wDJENgDjrsh7NDfSx33Sjhx2LL9/kv/PBsATgFz53WP0MvoelTy8wGWhB1AKgA7AWvqtYwzeYm1fhNjz2ADk8BnJU9Yf84B+aMM40APexrAbZJY4K2Btk7/+vlrsCdhI5Maf2k6YG+j7M/xooLFUB+qx3gc2MRCKOQMsHCtPINgAYwIsBg14ARSOtpRTY6wv10GLD8D4UtdrNFGfw3v5VVkajw1vXfl/McDh2khvnrvst6zr+xk4hmwBKeEdinHRhg/K0AX7BR7HoOvM1nshgwberNBTZGCfoB37CYDxQE4w18H3OEQP+KKOdQBt2q3jBBD3/ew02xm2AHCNOr5TqANkfRJ6lypcFBAZ6wLwG+sJPUHzOCWCXoTfo4qHZ7kN7dgHWC+sX+qlvWwbtE93tzJonHTlINOCDvLa4xRQFrTYR9gD0FG8eMEr6w+ZKGPumDeAaexR0OCDuWMO2B/Ye6AbyQmgsTIFkGZlPtE/P9ez9hOZVxtGs4BmgR/BAloI5B/B6NqQFi1gjbN2VYC2Q0NDlJiYSL6+vpSVlUVNTU3U29tLIyMjpL4fCmUAuz09PdTQ0MC0Pj4+lJaWRgMDAxaNtZTOtfhH/lLmpdFoFtAsoFng526B1XBgroYzZrlvkt1MzCaPiDjyDChkgBYPlqMStpJT4nb6n253uK1tZOXnL/ZnXVMz+YWEU8h8KMESvwcmt+3rkSf80LV7sI7767vjuT73blZHn/PwKkWf/F5XNy7goWOa3SnjZrN1AYjKAh+ZpUGHhEOWB3RoA4CJB1ifKnU+e8IPlIIObVl0yOnZMXo5ZN4jeVEBKoK5kX5+KDWSG8j5+0W8bbvrF4a7VYlbUvHd+znyL/2OKtqDmT6wbAeVvFierZ/kprC9xMNWPXBnTQn3vX5iHRupZS+njAeEiwGNZUGP+J7C5cj9mLRTc/rv40rGedbWzmDoyKjhS5q43xd2wd3Uxqm6vpECImJMelAA3E66dtiYZcX1Fx2drGdNQ9OKZX1qAUO9XQSv5YSrtuRXtIV/T/1Lt1Fo5V7CndHLPTcWo7c0P2uc1WvyrK3OIfeyYwx0Yl8v9lF7oIE21P07CruqulN13jPXOXcnAfAEkBl64msaaC4nt8LvKGi/AvICfA25qQC7rQUpFOGxkzzTtpBP8XaKubOXAKSecVBCtmbE32UgFzy4Qxx9yIPOKF5oMZdt6fKl3eR2+mt66H+Sx3FOukhXQ13pQuoVpvXIP0CehUqIWADD//zoKt3wUbz7IAueuP6Hv6Q3tYVU43dVB/D++cYJA5tsDT5CX4cfYyDY33Yd6wh+6B1XfZwKPPSgmfe+L8nvwnq2Q3mwHXkUHKTtHofIx30LR+xQA7ybwrwo68ZBBmYAvgC8g317UnwYJCt2OsMAHACxlgx/PtsROhfAIEDa/rZWSjmn2EvAPYA1b7KCKcvhKN13OsdgDYAleF8CnEI/aAHyZF7eS08jHjKYA3Co+I4SehXAH4CyurhABs2gI/SCjhgbZQCB0B9efWhHqFvv2nL+ugG4BS+8HCEXYwJ8Ay144W1YH+rM7aNFkQyEAUwOuH+aQbmh8RHyD3cizF+8RAGKKXISOIccfABEYa65TqfoZXoQg9agA0gVdXgznXa5Qum3DtJwRSrlJ4XpgELIB1AGW0BOX1Ecy8X/n8CPOcFGACsbfa5zG/SX+Usf+gGuwQNXwE5ZC8xJgDe9HRJouqeVQT6Ew51oyGHZGFP9wfjgF1kYD96waIfemDdy6C5zyLM/xuA49ADoiHasKcBaAHyQP9lcpBsHusFDFKAeaFFX64CyyMa4WCvsRYwp824vzmAa0CKUMuwHgBPgL7yWkbf63aBnsZ7MD+9d8MtYmAfrcXYHzwdyoKvoC3lPc5NYNsbEnGEL2BMAKjxzRWfoCpuBF+GpAYKiT2wF72GMDX7YAcAp6vWBjswnexlyANYKIIs1x7whCy8ggB9l2EP2C+oDVVm8P6Aj6vKBTrAf5imgKuThZYq3jWU6OowPeZgnxgC9MtfNDPjiuw6Z+C5Ab9kLyNGmBuRlbMwB+qOefHYHDaV70HBuIE33PNHOWkv/OVhin/z/Q3JhM66jHW2m2oVHyzULaBZY/RbQQiCv/jVabRoa/+6vtG5pftb4u/ZHB237+/sJwCu8ZhECbblpdnaWYAjIAPi7krQa/shfif4ar2YBzQKaBTQLmLbAajgw1+IZ4xydRHfiMsgjWA/apiZuJY/srezRca0yi25V59KTobemDb+M1raOLgY9chyUUGeDnc9McssdpvCsROror+CHwQPjnTr6Z0WZ/ADFlCdte6XygKqzukRHv5RCRZhyB+5gd5tJ8vfTEzSc4U3jNYpXgxBJuOS5wVfSZJAPvexk746ehkqD9g+tJLnd5bnjAVJdVpJFMbVd0VTdGWGRZqmd012P+SHUbF8355Mt5u2LUMTxF2yWKtosXd/YC177tj4lFG5q03WC5+1SkwB/VRHmwwpHHt9GRd53lyrS6nRvXygPMRcDuZ/mp/G6I7T4akgJDRUUUFW8YlUq6xoYgDUWVOzrZPbu6uftHfNA78IoAA3JEWwnS3dZG4+1lHpxRRWPmZH3ae90Xopulmimx0cp9uxufsmlqiWEX4Jg8Kx0G4VV2lDzq08bJcAaZ/VaPGvxQhSDto/03qP4DTf3gQeXrm//Oopy/0EXWhTtPs6b+Ldxb9xBunP8GwZYkxyO0uOER3Q5fTelPTpNMQ9smOZZSxRFX9/FXm59g/10ONGW7mc4U3lMAIOm3zgdJtcbX9OGoIsU5vwN8wSXH6KSBidKLLChzJjTrEtquBv9053z9Ifbp+kzt9s8zkafu1z+s/95iqiwJbvMPXQyXgk1bB/3A/8/4g8u18nP5gu6n7edHuXZ0qUT26mqIIbPkejkg+R/5Sv6taPiwfjA61v6/rwN/fLRNea9k7Cd7rlsof/tdZr1sgu7y+BOht99enD6K3LZv5Fszu6hm3e+o7snN7Nu9ll76Pd+5+hK4AF6+iafMtwu0KMzm8hz35d0JyWMvfIA0gBYAdAIewK8QRvALoAtamBIwCO0A3gCHXgEpJEcwBG8SVEHAIVU5efIdfQBEMIH4wL0gRyAVTkPrrDHHkBXGQvjI5Qt6CEP4yGM7wYvxUMUZcjo71X+vwLvPngFv0r2YDBMdEIOsA1AHgAvdTvm3pXsysAngEzsHYBs0El0U9OjTcAqNbgJGUKHfngeA9DCHOAFij6AeGo6U/YDOIexMWfoJjKRC6CIMkA10BnToO95sD3zQ1d81DKwBgihrG5TlzEu5ArghjnAHjKOAIeiC0I6ow9AucgBL/hQh42kXXLIh41kHJEt/cjRhzFEjoCKCAMN+QDDhU/2B9ZXLQN0Mg8AypAHufAozrpxiPkRVlj2eYXzeQZdRQZAZ9hP5MN2ADAhA/OCHHxQxwd0Mh5kqG2PsswF3zPMAzyQCVrpk7GNc/nuGLdbqkM+9hN0BZgOWswVH+PvAfoEsAUPbAud1fOHPKybzBE6oc2UDmJT9DFNuicN5wbQdMenfeHr53rWWvr/kNanWUCzwNqxgBYCee2s1c9ZU2uctT86aFtdXU1FRUUrXkfIgKyVpLX4R/5K5qvxahbQLKBZ4OdigdVwYK6GM2a5b5L5hUXR+ZRCcg/Vg7YFad/yw9H/5nKDThQmsbetW1PpirdS/8Aggx61mYmUfmEnv1FvSmhNVxSPL31DEz1cb+/X32E5NTrMDzFrYgKETJfD0w6etstNCNsWcXQre7uY4p1oyOUHNPBoMEjv5rh98qmhZynANYSxw8NJfBCKd6UJL7IFHthM4ef2UcCRbRRxepdFkaGV+yit6YZFmqV24qHucJYSXniiMZ+G073o/fTkAvbXT5t0c1403PQCbsOGllcZvPajU8pLA/C4xX3HS0lLAWwhB3sI6wNw68dILVnKXbvY0+o09byG3o3qvdz72hQP6646/fcA9Ljrd3xaT6eW8THLuyO86C8e3aZXY0bfh2UOml1QTAnpWQu44s7vpbxHNxe0o0F+S4xDKqMPHmVYT6y/NVN0Uir/foXGJCwq1r5k+SG8FxX6gQQIqR26fxMNdD6n1ldZFFS+k79T8LSNqD5EL94WLfBEWe45YkxvSVVrnNVr8awV0FbCHO+wO0Yu574j3yNfke/5DbrfTOxdt1PfUnlZDt9niTq8Uy/c/Z49LeF1irZjAXsZNN0efZiunvqObiTvooNXdjPQyW2e5ygw6h6vdUmSC4X7nqXnDQWUUldC/+R9kQ5HedMxh3PkGL2NAU67oO2cP4rbwx601xPsyT/angFZAKU3j2wlG9frLP//fniTc3jCSvnX7lcouOQ0AUSGfIRr/lPgGV3/uePb2XP2bPJ+BmV3+DrSIX9HqnwWTg6uCriLeYEHwLDIBQCN+QDEhQfxX7ncou99HMjB7RbdOvYtQe6XV4/QRrsjLBfgL3QAPYDkhtYsinC6wLYB2GwXqQclAaoAJMW4AtwIkGQKjJE2BiYv7dZ5BUo7cgCWyAEMAUjtSFS8SNEGAAeAkIR/FZAQ93MizC/u41TLAj1AJLQJUOgSep/riPbxIvyuSSBqpDbbAJiCvmogVuc62AAAIABJREFUST2GqTKAKdzNamwLAFvoswRYYX5lcS46cEvGFfAPdgHYJ16w6vExX3yEVt0ndkAbwgcj9LLag1Vo4fkIEBAyBGRFn+ghoJvQSzvqGMO4X+iwZq+S3dn2AsYKMGnMA/tArrH9IAvzq3E5Z7A+MgbAVXiiQl7q9UMGewFApym7CO9iuYC8ADBx1zDGUrxzlbDM8MYFGKyWg/FaA+10bXgBoSvWmecA20MGQG3wwOZYV+FX6wo7AUyXvhq3i8r9vfP0sCtkoR8yYDv1ugg4LPzqXMZU86MftocdYW+RJTTCj3Z43qIOL2EBbFGX/SPho6VNeNW56KBukzLvjXQPGsn2o3fjw9pZa+k/B0vsM/f/DVPtaDPVvsShNDLNApoFfgQLaCGQfwSj/8SGNP7dX2ndknms8Xftjw7aVlZWkqenJ3vL4mHjchO8c+GlCxmQtZK0Gv7IX4n+Gq9mAc0CmgU0C5i2wGo4MNfiGQPQ9mBWNXmnlurCI9fmKSERf+NxmfZmRdPNqhy6X79y77LZuTkGPRqaW6gnM5QBwPdzMwsWNP+pC0VVHzFoh2dYXXesQRvACAA76gTPWzyAxZ22H5IE6DP20p0bfssPdiZbDQEzGYO9WEpiuArwTcILQpeKEHdCKGiUh191C8sH5RUZSSynPiuZ4v0Uz2CE+DWVnr7J4wf2CClsjYS7exMywuhp/1t6NzGq2MPI2xbejRHHtlLsOeWewI7qlXliFj5zo5AK/Rq/eFvMc1J7XZuam3hiW/KwFb7Rt6/YpgBPf4xU6OnA9lKP/X5ulnrmvZfG67L4Yd/czLSy9olhOtLZuUkKqdhDAOf7x9p17R+7MDo9pQNVdoSbv1t6KXpEJ6ZSQakS4lPoAfbj+9KUpnynpF3yOd1vSas0GeRRJ3aYBXwNCJdYGZ+Y4N8u3KOL38yRUfMA/8DkBNvmZlH2EqV/PDKEe4cd1b8RMTUn+DsUVoUXOkyD4h9PI+K/B1f6x+laPGsFtA3cv47un/+G98iXbjdonZcL3Qr/nhxPbGaP2cCj6+jk6e/prx7dotO3lHtOATYCyGwpiid7B+UuWICkADjXhZwkhBYGyAk65ABTAVoC4ASAudHrDv3Lvct00M+Rzoc9Yhqhh9ctygJ0AiCVNrTL59gpBViVuql8T4wS0hh93h5f6XhRB7AK71fIV/Paht+jX95XvGqxV9F3MSlERwNdhEetF+YKj1x8UIYM2OFQ0APaHXNUxw9PYPRjfNgQnrAAa3AHrXjDIhQ1AB2AcehDu4Au6lzAHwA68FKUsKtCI/3G4JD0A8CRMSd6njHQJcAePBABMAktcvRJG0A7tAEUFhmm9ASAhARATvQBYCZhZ9XypWysL4BseHpLv+TQRwAqzEXkS786B51aPwH/AEpCFwCqyNUyMC7mKzZRywMdgEKAvk9SlTMQc1TTgJ+B8pQABkbLH5xhEBRjApyDPpADOvBBFnQQ24it0SfzRBn0WGuhE/3UwKTQIVeX1XLQDvC0IyWA9RJayaEf9Md64P+QaBf7YC6yP4UeOeagXj/YCPNFn+irpsfewAuKkmT+eAlATY9xMeZgaxXLggyEB4dsAL+wvfBijtgP0F3Ggo2gC+yOENJq2QCIUYcc2BYy5buks/V8SGnQQTexg8hHjnEhA3YT+RhTaMCj3oPG+wW0SJADQBoh0oUXL0SgDfdJo032jPTD7vigjjnKGsieErqxikTCC5+zwyuPViRrttTcGn8Xr8Wzdqn20eg0C2gWWD0WMBUC2cvlCKFdS5oFVrMFrHHWrvTvYvD/XysxEoDWzMxMSk1N5RDHuNO2sbGR760dGxtbcKct7rnFfbe49xa0uAc3ISGByxpou5KV0Hg1C2gW0Czw07XAajgwV8Mft8t9kwwAxPaCZvJK14O2Tws28EP93/mdo28Sg8mxNp9yep5bZfOExyVRUXklvRsb5IcduCPWOCH8bXrzbYPm6JpjVPDU8L5Z8VDEfbSSCjzusFfZzMS4NOlyPFBCSN/3M1O6NlOFpGtHKPrUDwZdo6WxNJwTQKZAZhBOvail/iQXqosNpNADXzFQUujlSAAEkcYH+7itLNjVQO5yK2GXDlOg7UZma3n2nAIPbaGEK4dMiomtO0WBZd/zWvaNmQ75bJLRRCM8avEQ6nhsAP1HsAfhPtOJxjwazjD0toWXM7yVAd7CDgg5vZIUW3uSslocdCIQMhsA/rM3+bo248Lz4iy2dWW4+ZDIxjyZ9y5SwuUDxs2fpB5zZhdhr6jTzKs2+nd3O7oa7c0huWF7PPiLZ+/TWzrS+h7lvufwqv281l2Dtbq+j1kIrypkUORKuAIAxdd9mCc+XszEb1D942YDdbtqy3gN3zwzbFcTRSakUGGZoXe79Jf4P6SQ+e+JtK0kl3t35V5b5OZSSGONDjDKbHtqjuyjt7fkKC94NKZEGYzV9DKFv0O9w4917cs9Nxaj1wk2UbDGWW2ts7ampp5sbE7wB2XjNDk5SQ4OLtx/7twNGhzUX9OzmA2M+wHaeoUrd72ecFU8YgW8BMgKUPTzW8fI69wG+ubSQd5DABkFyATtucC7dPz+Lg7zizpAUHzgXYq6gJ9oE9n/y+OWrixtkoNeAFHkF+L8GQQGICw0kgMclbJx/kef+/SZhwP3fx1wmTZ4O9AFv506+tshTqzb6cjbtDvmiK7dWA7CHP/W8y4VPWmgY6kxTAe9jqU8oH/2fWjguYs5qwHbz9zvsB2SqwvoTKYe9MUYoN12X7ERQFuANZ01+t+suoQQBqEA2gH8Ee87/O6CFqASgB0AMwB+2guSqbsohbcL2kHHYE1zEdOhQwAd9KmBI4BMkgDeqfvhtQg+AbMw9mBhJOsgoCdCGENHJAGqIAN64CNAFPoFpILeAL6M6VBHH5LMA20A0HAfL9qguwB60A22QQ4+fEArOoNXwC30iR1Zz2dKiFroBHnwzESOuYqeoiPGxEdoMScZCzkAZUnow/gYW2eX/ld8Ty/CTasT1hH6QS7kgB7/L5TxIUfAQfRDJj6YB5J6H8A2DEw+rdTRCfAoPMjFdiILeX9lpg6klHbMQ/SHPvh/DPSRvdNRpgDaqGNsJPBiTNgQH9BLgv5qEBW0aDNO4EfCmBhf5o023GurlvG2pcaAXcBW6A69kFCGDaEjeJGeFaQZzBdj4YOxYR9JGBsykWRc0CGJHcReyEGLfuSYP/hlDVDGB/2wi9hM9hj4ZV2xJ3oqcll3sRNsgf0DgBttkA8Z0i92Rx0J80Y/+NRjcKfqH+NzYaV1legFxdV01i5QbgUNxjYTUaba0WaqXXi0XLOAZoEf1wLGIZA9L31FYYGGz4B+XA210deiBYx/91dat2QDa5y1qwK0FbB1dHSUvWZzc3MpJiaGAgMDycvLi9zc3PiDclBQEMXGxhJo4GELHiTIEDmWjGapz1p/5FsaQ+vTLKBZQLOAZoFPb4HVcGCuxTPGLTKevil6Sh4ZJTpP2+78dfxQf2P4GdoQG0Dlr7ustqCp2XmUkp3H8vAQBkCocYLnYMkLH4PmzGZ7Smy4YNA2PvCWH2jXz3seCjBaEboQKARQO1oUwQ9cRnICDB4UGQglIgBFeFCODzz2sh3OcKi09txYBiON6VFvSgql8APKXYUIg2zqXtx8dzsGkkwByqZkGre96mxnnTI8lPtXJyYnyf/ebW572WR4fcTLoUZeQ9znB5Dzca/hPbzGsherz7xuZ9v9s88DfpB+ITeNvT/xwEq8j8uDlXv3Xj9R3orNfnCVAIB/aJp7N82613YbelvCc7j0hRKmWWS/fd5CtXFBlOmogBzLAWwho72igO1oCiTEAz1TYaBl7JXkkyNDPC7uAFanlrJkHbDx+wBXKipLY/A2++peij6+ld5PjdPs3CQFl++inNb7NDU7Qgn158mvZAu1vv74Hp7fBD+i//K8ww9Wv/K9R79xtaOBMfPep+q5qcv9g0MM2nZ26x/cor86ypftoqY1LmfmF1JSZo5xM9cByOD7+/KxdUDswrJKCotT1igoMpbKaxa+bCKKbIkLoX/0eUBfRQfSr9wdqXN4ULo+WY55Y/6m7mrOanGksErbT6aL8UDWOKutcdYCkHV29qK2tg4GYwHOqkFZ6J2cnMEflEHX3PzEeDpLrgO0DbBfTwG2X+iAUgEtEU4YnqAAF2/e2KrzmEX/tSPK/fJCixwhgZHDmxa8f+Vqr/u9UNOlP2+lsIp8Xd+xzEQu/8pFAXIBkAo9PHYbu18wCIy2z9zt6VCIM+fhNcU6QFjo1bljbjKlNteyrAsxPnQnPZJ2xx6jP3or8gubq+jPoV50r6yAnNOUkMl/5WqnG1tkZYZ5EnSWhPavw8/Q875a2pUUSb/1dGSeyOZ6zv/TXgGsPQpTqaG9lTb6O1HnwFuWITKR3y3KpPqyXPayRehegDUAJSUhpDrSUIkCdAF0EYBGQCUAQABmkAAaTo0oIenRhnNQDRyBBiAPABz0oQwgCx8ByUADYErALuGXfoBN6Ec7EsIBQxY+ohP6UMcZJXIE5GKmeWAXeggIhrLIBB/mhYQc4BZ0lQQ68EkSkAvjCyCGPshEgs1AA52gj4wp44mOoAVArk7gEcBN5if9kC+8oq/0IUc/+EU/tGF9AHwaJ5kP5IitQYO5Yy1hE5GFHB/RB7ygwXjgRx8S5i16QU9plzbQiCy1jVGWdtCInbg8PsZjYT1Agz3XneDB6yPzlP0IeuimHk90xnxknZFbSrAH9o9aDusyv8+MecV+GFv2HcaVMYVevl+Qa0kH2FVkglfWHGX0wT6wGeTI/NCH8VEXvWEXlMEj/aCRBB1gU2mD3KFn9bx/MCZ4YXd5sQPriyTrLmOrx4QMjIsctlCvq4z7qfPVctZ+6nlr42kW0Cyw+i2AEMi+J9fz3yoBtuvI7fY2Kikw/Ft49c9C01CzgHUiSK0q0HYli6qBtiuxnsarWUCzgGaBn7YFrPHH6UoPTGs8SF7pKi33TbJdeY0M2rpnFutA28G8/2SwbF/Cafoi0m+lKhnwF1dU6cCPuaHX/GBjukvv8TUzN8FjN75MMuArbw+koHJD71cQpNw8pgMGBegZefPSgPf99ASNFobTULonTXe30GhJDI8Lr1tzaWpshLrrK9lzNv3Sbgqz1d85iPC/ACTr4oOpOTOO788FQJJ0Zgd1php6dqjlCxj8oaGbUzyU+3H7uvWexclZuRR8eAul2Z1SD0UZzXbzIabfU2T1Icp98tCgf7mVySdlBA8fPAD/X95OnGe8eMIP4OBtC08K2KA5U+/JAQ8/tM1MTix3OKbvHW7ivdAzqH+IjI6UpmuUWHmeXpTmEDyrww9/y+NEHNlCxT73qaNKebC+3EHBjzDW6jT7poP3ysyrxT3NSwOcCSDsYqk9rYqGnikgJe6nhY362g09Mh+GO7ONj/n70j/7KuVLualUGTi/BxKcqbr2IdsHdz4jzb2bocwWB24rb8dDxveLqfJB/X0T46ybe2oo87f1vKBfON+iQxHLD5P8vL2TQdvhEUPAF/vZeE8bK1tRU09BUabDoM9OTbJdEWLSGikiPpnyipXQ6HjxJNkMWDw0Ncm2uZyfQa/HR+lvve7Tf4UZvoBiDX3MyZgdn6KOwgoKO7TZrP3wUgxC0KvTcs+NxejVso3L1jirrXHWAoQFaAvwFsnLK4jU3rZoR5sxkCvzWcwGxv33oj0J99m6n91s4DEq4CKA1I2+99nL9vfO14nr/k607+J+3lO/ddODnOKJ+ytXe9ro/5DssxLZ0/VPvspvM2T+kBBOU1PT/EEdnqioJzXX0aFwd5ZpnxnHOcBO0KBf9Dkf7U2vezuoqiaP2wWAVWTpQeLPfJ0ptKGaaQCquhWkUUHbczqZ5kTfh7ixvDfDw6wP6IKKFA/a7yN9aEOgcqZ8Ng/GvnrWynJE78MJodTZV08jY4NU09NFqMOjF/0Y16MoS6c32g5Feun4f4jyY3sC0Mb46BcgZXJsVEcnYyEfb2/idvSjPFIaRxOvOrhtrKWMxp7VcHlkYEDHjzaAseAH7WhlCpchAx+RAf7JoX4dn4xrqk361PlI32sazg3ksSb6enXjYWzIgHw1vZSh03j3U+4DP3hl/qIfaMEPXYUPudCp26QsMtV0PNe+XhopjNDpI/MHndgS5dGaLIOxwIN2rJHxuGz7+fnJGoBWPmgDn1o++oz3k9Ajl7WWNtTBj7GgG8qyX4QGOcbC3DEvWXfQy7qDD3ZmWqM1wRyN7QE+mbt6HJSxrpAn/Wpe9KNPzWNcRx/mw/vjWY1uTdQ8psrGtgGN7DlT9MZtsI+pfW2qTc1rrL96j0kfbI05qflQhn5jjfncjjLsKjwLaPE9Ve0/sTNyfGT9hU9oRX/Zn6irx4ReMib2hqybnBnIjc+FldbVso3Lq+WsNdZrpXVjm4k8U+1oM9UuPFquWUCzwKezAEBZV4edFLB/Hf+N5n/kC9JCIH86+/+cRjL+3V9p3ZLtrHHWrvQZNPhXHB65tFQfgsjShC31QYbmaWvJQlqfZgHNApoFfr4WWA0HpjUeJH/qFYSXLT7+rTV60DbnPygg71s6m36cPvNztqpKjc2tDNLMzN9xj7tg+S329wrA1Df2gkGnzoEqg3HhPehb8i1NzBiCYg3JEfwf//SkBAo58BWlOl6gsXF9aGQAtiMFYQzYytvx9P4dAYQcSkMowgh6N24oUz3w5NMKfnDHAPPLTnpRmkuV4V6UeusEjwvALeGiLb+RP16fTcPZ/mr2BeXk60cJ4XA/JAUe3EwRFw8asDa1PiF/x5usy+unTdw3NPGSbdX8KoPrAGgQPnclaawsjvzjvfkBef3rXg6R/Dced+lVXy91ht+hEJv1VOBubzCEgNQ9jYZewAZEFioNPYk8DwD5SPCmBVAecWm7zvawJ9rQt9JUFemreEJPKvsH3tlYT34Y3Gg+HDPGlbuQi33vW1Sj7Fow+f3iByq9onhu1MQEUIjtBgOeucFXfAflf3jc5e9KXnkFXcpPZ9t/ff8Kz70jJ4KCirdRRsERmnxSrvMYAVCLFxzwXQGACyDX2sm7OJN1edmtB5qdM6K4Lafe/IsQpvSorm/kORr34XuFlzAspSfP25gX982aSgh5jbuVl5IeVpgH+nF/LUI4tz5TvPEqauspMNLwfm0ZI+JxHduhvEcJn1zc1c51eKZ/ivQsoZAiD2+n2LO7CXdrG6fBiW7eGymtEVSqevnDmO5j1q1xVlvjrAVoGxysDycKr1o1aAuwFqAtgF2EUDYOj7xcG3ldsqGA01+Q8+mv6TPPKxQTpUQtWO+teI8CsLVLCuX94h/uxICjXUIQ7X14ldvQB1ASoCnuaHUrLyT3yhIGPu1zU+hQlA+55iUTwN1NkYEMnAroAFAW4K7UIWtDgDO5l+YyCMq5rzP3/zHYg8eIL83U0YNPANbfeit6no/1o43hvgzYAqQFzcXsFN24AGgxDgBl9DkU53JfXksD/dHLkesAjX/reZ+CS3N4TNFP8pq2J9Q7oACOaMttKGe9UU5qUQBWAZvRBnrhDakqIdivsq5Y1wYQRQA1oVPnamAKwAwAGWlTAzIGPADV5sFO5jEClAQ0U/N8aBnjyFiQAdBIXTcnV8AmARbVdAIyASATAErdb64swJW6X+QD2BRgTXI1HcoyrrQLrwBk0i60AiTKehj3M9A2D2ar+8yVjfWXOuRjLNQhU4BZkQO90Qc60QX0Mk/0y1yM54i1Yj3nwVbIAd9iayj9vB+NgFrRy1wuOkIXY33M8ay0XWy5Ujmm+GEvU8A9aGUNpGxJD9lP5saQ7wz6LdLOv8hhTIe1kr283LPCWvSr5ay11nw0OZoFNAusTQsg3LH7deUFa/x9p4VAXpvrqGlt2gLWOGtXBWjr6elJmMzs/ENa09M13Yr7rhAmGTI00Na0jbRWzQKaBTQL/NwtsBoOTOjwY6flvkkmoK2fGrTN+gOFZ22l27mH6b+72C15SvAyg/elpYQwqABA+gaUkKGzfV0Mis28fMZsbX0lDCoAXFCnV8PN3I5cnYZf9TCIFXBkG+f+rs4sPyQ6nrKzMulNhh8NpnlSX7s+5KLwz/a/JIRKBig33aGE9JU+5O8mRxnsHa9bGGJP6F636ec78/KpAvCOKmEThQb56NRbrraV5bGenTXLBLeyU5mvJsMwdNDo2BjPN+zIVsq6f5nHKH7uRcEVu2j23TS9mxyj5p5Utt3YtHJ3mVqvpZaH071of4QX/Z2XAkq+GOyn/+l6h7aGelP0sS0Ue3wLzYwtBIkASAKY/JCU0+pEUTVHmfVpvuLJi3tyU5xOkL//Jnr12nAvyBiyl6S+1Fz20pNc5a7C8doMXs/zYS40kh9iVgzuVMY8w48of5Cq79sTppGO15Tw+WUGbCN/f5KC/saGZsYmKfPuhQUeka+bihjAOBMbzvc/4/syOTVFAAL/3fMe74OH7od5TV8/yaDhLF+CruoEwB7ALe6HRuhka6bP/R/QVz6Gd/BC/p+979I/utnR6OjSwwFnFxZTfKqh7gDg8Uc97rW1lF6/7eO939Or3BttTAuvb8h52WR4D58xXcObXrZ3Va/hb47QCTg8PH9dS1tnF4/bP/8bJnTIdySE83ckr/UBTc+OcRcAYQBLCU/0EQXUPNYsR9vsoeC9G2io13RI+5ZXWbwvfud3k/7O24m+jQ3m4Zd7bixGb2lO1jirrXHWLuZpC9AWQK0AuepQyZjfYjYw7vc5s5P341W7bRym93FOJG3wsqfInFgGTu8kBVNosfJyRnVxIp2PcKOkihy6HONLm4LdGGQv6XjGewl33SI1vX3FoYgBwDtkxvJdsMHp4YQwyOr0fYgr/RCu9zoHrUN2AsuEbKSvo5UXSVBGOGMJHSpyQIdwyqBDmNC0p03kXVsu3ZxDj+EpxXMZOUIzFz9XfqcR9hj6IgFEBi3a8MF48ORdLGH+CL2sTpvCvNRVg/KLJzUG4VahtzqkrAGxiYqlUMFCjpfBJAwr2tQ8qEsoW6FfSc5jzYdoFjnLmY/uxTVhng8tiyrC0qrnoSJZclH4ER5WwtxK2NzFhIjdEF7WOEFvU7oLHdtlPhSutFkjx3wk5K7IM/5eoB1zFP0t6YK9IDYSeeAzNWfpRy5zB+9S7anmFxkfymss68eswwZiD2M9ZM+hfTGbmlpHkWe8RtJuKlfLUdsXOpr67hufCyutm9JJ2lbLWSv6WCsXm0kuco3raEebqXbh0XLNApoFPp4FtBDIH8+2mmTLFjD+3V9p3dJo1jhrVwVom5mZSampqeTj40NZWVnU2NhIPT09NDY2RjMzei8AlEdGRqi3t5eampqY1tfXlxISErisgbaWtovWp1lAs4BmgZ+vBVbDgWmNB8mfegUFtPVpqdJ52g5k/j+UkL2VHhbu4wfEb8YV8GEx3bbFhzFgMT6jvzvKmGdwaJgBDwAfkkaLo9jjFfW67lgGFYw9BOFhCxDK+L7OlqfPKfDwVn4YnnT1EMErrrPnJTXV1dCbdB/qT/WgxKhQHhPgV3xaJo2N6z3z4E0pd5CNVSYb3F3KoF26JwOfoqs6h7dwRHwSdXYr4Zjh1QsAeKpt4X2X0TXHaGBc8b6LOr6NMhzOqUUtWo64fIQCbTeZpEtIy6SYR3fZBr3P69lOlR1K6Fro8qpNudcWgPiHpLnhNzyvv/e8SwfS9B6G8Cq8fPQ7CrTZQD2RjuzxaSw//c7ZBaCkMY25ekT1QV0Y11yXG5RwSfEWRjhg7IVnbwoWsOIhGdZgts80ALeAwagB+iZcPkAzvc9Zzov6Av4OZMQ8pHcThiF8wTo7PUXxF20o+uT3NDE0wB6O8RdsDKS2JZVT8G9sKey3h6m3tJne1r1g8LY5IIsAQldFeBvQh8Yp3nSFLc00NKx8X2oaFMAP3y2/Q5vJx24jnUs7yIDHRFM+DWcayoDAroFqtlNE1UGSEMoGA31ABfezAoAMyopewN3Q/YL7zke4L+gz1xCTnKYLOyw0j9NjeC+b8hQVGuTT0zP8vX7cqvf4VfdPjQxT7Nk9LAuhzs2ljVEBrPeJLMOQ7EKfX1LO33PUJ94M0ejYOI8rnrdCNzI9xXIu50Urdq+w1dl9W3wo/YXbHcLLDh8rwV4AqWN3HjY7REDldXpUsI31/MUjO/oX/0cU17rwhRWzAqzQYY2z2hpn7VLutFWHTDYGbZdrCqwNPgBt4WWb2PyUdvo70YuGIgYxw8qyGcjE9wsP/wHidrxsI8/iTMKdsZJuB9+jjQH6cPe4rxUAaNGTBiYBcNFlFKb9TkoYg7QiAzIBpoLvqwjFo/1KgeHLE0IrOXQA2Iu7ZaGfgLPSbyoXwBZ9ap3c85TvGsZHGhx6azAnU7JEBnRXJwC55pIaxAENABY1sGKOT9rV4JCxLKGBPDXIowZxhMZaOXRQ6wS55vQyNeZiui0GdJmSqW5bji5qPpSFV3J1P9oW090Un1rGh5Tx/wlLd7CqZcq+Qm4KrAMt1k69V4TfeE2l3ThfKp0xH+qin6m+tdQGGyxlrRfbL5bmvBT5lvhXS99qOWtXiz00PTQLaBb4+BbQQiB/fBtrI6wuC1jjrF0VoK2AraOjo+w1m5ubSzExMRQYGEheXl7k5ubGH5SDgoIoNjaWQAMPW/AgQYbI+dBlssYf+R86tsanWUCzgGYBzQIfzwKr4cBcDWfMct8kA2hbVelAns0VOtA2o/A8RZQcJc/iHfxw35wHmno175blMy0eON8qzlF3LSgDPK1r0ntJ4r5QBtredFDhM3cKrzqwgAcNweW7qKJd8QxDHWFRcadljNMtfhj+vCSb+d6ND9MI7n7L8KbZgV5ug1cc7s9EWFPcq2ucpjuaWIfhbD/CPabgg06mHrAJb13TYx0YjDDFSACgxyoMwZ++sTYGceLrzzKNhHQe7G6+Ch/mAAAgAElEQVQTURbztz1dPL9UNweTdKxHcBiFH9lC8Y4HeKzxacXbd7QkmsZr0vg+4LI2y6GbTQoHONbeQLXxLry+gXWV9PrNW3rb10/Fwe6s159vnKD8nCgayvCmyfFRg6gqtXFBTDOnekHP3Djq9smZEZ7H414lrCzAzcpwPTAZWP4DhwFW86AM22PdENLw3djSPT5FDsJfA1jpiLjLLxKczUnheV8Lusf3IQud5LgDF/Rvniqgam9zHdcbksJpbnqWis/7MUCb9t0dmhrQg74JX1yhyP88ooyluoMXD1Z3+zrQP7rak4QQz8wvotCYBJqbm+Nh4+1tOczq/xfiwLrtjQ2kF0mPFjzMBzH2XmjlPva8fjWy8hDSTrmJPObAG/1LF2IL5NfTlDDJZdW56mazZePfAhDmPbpFcef3muVRd4TFJVJJpenw2+9m5yhh0yVKvHJwgZ1FRurzFp7PX7rcpv/xyI5Gp6ekS5djjILSCq6nfmtHsxNTFBabSEXlhr8jsa2NLCu5RglPjRcLgkp3UM9QAw1MTtA/+T7ksOKTHxB1SKeMhUKFtx/PM/xfDUOoq1l8SnaTS+Z++tzTnjpS3Ol2pCv511ct8ERZ7jliTK8e07hsjbPaWmctvGgR+hgftUetg4ML33Ur3rbolzaZj/GcF6sLaHvcfhdlpwZQ49AE2Ud6Ul/3M9oU8JCaXnUziPrPfsp9w3llCogKUDKiTu/RiusE4EEqCcAnAFFLICpAUjXwqwZTBawVL1iRa5wDHIaMyOaVRxRRjy/jbAxylaLF3BJIa5HxI3auBExbrlo/FfBtufP+seg/ZG3NgX4rARIx/w/R5cey28cad63bYLFzYrn9luy8ms5aS3out8/YRsJvqh1tptqFR8s1C2gWsI4FtBDI1rGjJsU6FjD+3V9p3ZJW1jhrVxVoa2myi/VpoO1iFtL6NQtoFtAs8PO1wGo4MK31IPlTriJA28oKe/J4rAdtswpO0IOKewya/TeX6xTTYtkTK7tdCdmIh7/HMxVQBx555lJUYooOBBEa3Ds7WhpLKU3XKLXpujQb5Aj1mtWiBy4z8goZtO1pbeTQtO9mZxioG84JYMAWd4MaJ9xHCaAIYYWNE0A+3HHLoF+6FwO/7+dmjcm4Di+/4Kg4QnjX3KJSlgnwiO/KTXUjNZ/cMQoQB57E02OjFGyzgQD4LSWlezkxGPN2/p5MYx7xXs4JVEDUzJLbTPJuYpgiIx9Qa4oHpT++RQn1SkhNY/7F6uN1meQe7cqAlEtEJM/V/6Hi2et7/Qz95tEd+s0je+pJdqWyuAAdkB0Rn0x1eZms++tlevOJl+ib0ackQOjLJj04h32S0njVQHWA9Vi7iaYCGikMp5G8YAPPaQNiMxXsodD9Gyn/5n7q7O3gOeNFhP/0vEPGYbLbKwp4bvWJYQbSCj0dKHjfeopdd5oB2zqXBIN+VJ5GFZL/75RwymP9b3T9AMj/0uUW2YTq73Ptff2GbQqv8tm5SQpy+YaC9qyjkclxOjMPKu/0daTJ5mKdHHVhbKqPYmtP8ve5vd9yyGE1n6nyv3rfox3+5u/tBSD5L56O9Ad3u0W9YQbmve7buwy9oiOObKFiH/NjqPVKy8mnlOw8dZOu3JFRzfZ/Wd5EuPsYNkN4cnX6F58H9JnbbYqbv180pFEPhoFuaGSEbf+srZ0GmjtZ3tPIAsrKL1oQ1nl3chT92vMeFZZfo4Di7+hNQxJFF+5muzf1JFN1bzfvJ+PQtWp9VlKOPrCHArd8yTpOj+ijCYhMhGjHb1BWxgXWYyjdk3ozfKmzY+VgvoyxlNwaZ/VaPGsB2vqFfUW/9zvH4YBhq9SseOp/1UWX0qLYdABgJUyxgHMAZMUjFUQI16oGLtR95uyP8MPm6O6VLYxYYEoOQiEDbDUnxxTPctqSStOXRG4JnF6SgI9ApF6PjyBeE/kjWkC+hz+iCtrQKgto66EyxiLFn+tZu4hZtG7NApoFrGgBLQSyFY2piVqTFrDGWbsqQNvS0tIVLwBkaJ62KzajJkCzgGYBzQI/SQushgNzNTxIXu6bZPtK66mq3J5cm8p0nrZ5eYfoXoUnP+D/W4/L5FReaHbPAJz9lbsjIcQoEkIp465TABjmUnpuASVlGnrjTne3MOAWXrGPip57mGQteOZKCDOM9Ly9QwGynj3n+pO8VHo3OkDD2f4cKnZu6LVJGbgbFKBtYZniOWeKaKK5iHXBHbXmUnV9I8uRey4r6xq4XpqTxryzb5VQyOAPq7ShrBZHwl2zAE1wXy8AWwC3AHAtJaxn0IHNFH7BtPex8EYnpVJMjisF2q6jbLcr3Dz1vJqO+TuSc+h9qm715bFxz+1y00CWH33rc4/+2sWekjKyqawgj3WPuXKYahuaKLKkmEGgHQEPaCDNk/A9qGloovC4JPILDmWwrDpWf1/iUsav6YpifREmuyrSh8cDoCoJQHhg2Q6pcj7ZWsq2nxwfUcJ3ZvnRaEkM0TvFQ9WA2ExluqeVCm8fpFDbjXQ2I57ndT43lfOODD2QOvL6JYXu30Rp9qdxaZaBtNbIbAr84QsK+vZrel1peg/NTc1Q8IZvKXj3BgPetPRgHiui3DCUdUJ6FuFlh/qeePIL/orB4oHOF8x7MiuJ/vKRHYPUBsJUlem5cQbtY2pPqFqXV2x+3cO6RRcY3pdpLKVo/t7NWxGuFm3/oqOTvzMIAS1p5M1LntuT/FRpspiXVtWwF7IpohxbZwYwC0960ezUJKXeOkGBe9bRsyIlvKpbUaYynzh33ie/dbOjz8N9DEQBKFde8hinkgv+LC9l8y2qbVS87GfnvWYRthrg/unMBIor3EsplWdYzlhbJaXmH+S9XPTElTxrypT1fbwwhLrBwMuszM1MU+DOzylk/Q7W8U31wpCxz98Wsh4hcbdYh6F0D74Pebq9foEnynLPEWN6S+pb46xei2ctg7ZJm+mXj65xOGDYKLskhwYnJkjtPWoK1FcDpQjnr/bYWwqI2dj9wizYqpZtad1Ah89SxrMkx1yf2gbmaLR2zQKaBTQLrGULGJ+VK61bssVP5aw1nqOxzaTfVDvaTLULj5ZrFtAssHwLaCGQl28zjePTWsD4d3+ldUvaW+OsXRWgraen8hBPHm5YmrRx37t37zhMMmRooK2xdbS6ZgHNApoFNAvAAqvhwFwND5KXuxuOlldQZbkdPWoq1YG2hbk25FAZzA/4P/e5QKYeImOcidkZ+mOIJ/2D9wN6q7r31qVSAfFKuttNqgOgJSQ6XhfuVYgGc/x4zPrueGkyyOGl6le6lSYmJyg4Oo5SsvQhWBGObjjLVwFsh/WeiwYC5itVdYaAqyma2X7lnlpTfVNT0wzkGAO/uOMSAA/u0R1uyGfWl0ONPKe2vjL2kkSoWoRJHuzpYHAKYXQtpbrcdKarSI2zREZVdQ3km7+HIj32MEgK7014Df+T+x36P14O1FanrOfL4SaLctSd8PBMTUtlIPQvXG6TbXwEg1+x5/ZQ1IkdBoCzgFF+4U409Uy5PxThfbHWAcd2UOCZfWR8B6h6LONyevNtthPacZdt9gMFiBY6AaDUd7Vi/XsrU2h7guL5Ck9reN6O1yzNg+vd5Bjvn55kb7b5xiuH6VR2MjW9ecUgV1jkA5obHSCEesa9txFHt9KEyqMcQGzRWV8GzRJ2n2QZ8MY1lyL2b6OALzfSWE8fkwCIORVwlxCqd8TIE7yto4v8wsMosPQHyiqzZ9nPi7OYL/HJY9YvL9bZYkjoJ69zeS+OTJl+ocGcntJ+M10JfTw+/FaazOZHkyJYp/oK87YHsI/vizo9L87mueH7sZTU/PQZy8DLGOo0PTLO6xDydwc4nxoaIwCbmXcvsPyKaF+285feDgQPbdyBjLtCAby29Ol/P+BFD7B8ZnSCAv96LwX92oblPa1r4XFfvVFsIWuQWZpCfiXfUtULfRj3mbedVJJ3lm2fWHuW9iWH0P94ZE+tKg9rte4fUq4Pj+R51XpHsH5PwpXfH7UsvAyDFx1OBN6jXzrfInjajuQHk/oFEzX9xypb46xei2etx7FNvAewxyRVN9XQyMycARC6mOerpZD9ItdUvlKw9WMCttB3pfqZmrPWpllAs4BmgZ+rBX6uZ+3Pdb21eWsW+NgW0EIgf2wLa/LXogWscdauCtA2MzOTUlNTycfHh7KysqixsZF6enpobGyMZlT3nKE8MjJCvb291NTUxLS+vr6UkJDAZQ20XYvbWNNZs4BmAc0CH98Cq+HAXA0Pkpf7JtmpilKqqrhNDxtLdKBtSe4usquK5wfMO/1O6cI1Gq/i4XTFE9HUnbf/4ufCgK4xD+pv+vr5blmArur/A7x+lsVjvuhSPOGMedv7y7k/sySVAZORUSXE8buxIb7DFPeYzi0BUJqanqagyFjKK/mwULGVFkIsd798Ra1JvtST4k19A4NU+MyNgsp3EjxGkboHa3kO8JjMcDxPUSe2G0/ToB519RgF2m4yaDNVae4sYbnFtTGE+19LvB2pIUG5hxYgQXO6B/cD+F4sDY+MUlZBEds4Nz6cSuOcGcyKSolisBIeY33tCz1IAZb+0uU2NSR70vvZGXo7qnj7Ffg7U9C+9SwPay7eyZb0CKnYQyUvvGl84C2DUYWRAVRUroDB4ANYC6/l52+LWMxMzxMGaP1Ls1jX6JYGg/bJJ/o7Ic2NK/fhIky2x5nddPvQN3xXJOj/1vMeHfZ3pKn2BioPdmOdXjbpQ+kCsI3532cZMGtwT+Yh4NkZdXwbzUwuDFWLNtjR/9++oao7kYquvc/oH11v0zd+j0yqGJxpz3MemXxNIbYbqDLci+kGJyd4zgAdp17UmuRF48TMEPPLPcFmCc10fObhQLZBD830GjYPTU3S37k70H952psFBXOKSig2xRDULQt6RGEHvzYUZqEmoaMFPBXS1tBcXovu/AbOG730nrs59y+y7b8/b0ONXYqnPvieZgWwHS/l63XCXcK4u7Y5MIvltKdVcV5+N4r3c2OLcpe1bWoM/bXHXWordGYbdw8aetLOjfZTc4EDBRRvpfByG/o/oY70h0A3GptZvue7zFGdxx05QIHbv+Sm4N/YUvmNEHU3l2Nqj1Nmsz393suRvvG+Q/C0nWhVIiEt99xYjH7B4KoGa5zVa/Gs3eV0ki6n7+Y9JuZ4MzhAY7PvpMr5YnfGfihoazDIB1QQpllLmgU0C2gW0Czw4RZY7Oxcbr8lTX4qZ63xHI1tJP2m2tFmql14tFyzgGaBxS2ghUBe3EYaxeqygPHv/krrlmZnjbN2VYC2AraOjo6y12xubi7FxMRQYGAgeXl5kZubG39QDgoKotjYWAJNc3MzgQcJMkSOJaNZ6lsNf+Rb0k/r0yygWUCzgGaBD7PAajgw1+IZc66ymBIrPOl+fZEOtC3P2UE3qxUA9VTQUfoHL6cFi+JXX8kPn5GbSmnPW7k/qEF/D6maDsAt7oRNTM+i6fmXtzr6yhjw6Kk2vCNU+AbGO7nfL+EBNba0cvN052MG6+BluRTAVmSJlx/ug11OmpicZMC5uKLKLNtAcwXrFB0dSQGlO6jwmbsBbf5TF/Iv3UZPKtIYPGorX+gVB4aBVz3cn/TojgG/qUpGsx35Fe2irMJiqo7yYz4Pf3teA4C2LqH3Ka76OIHOXIK3IuYF70eA2ggBO95USA+9btLlo9+xzNizu+nlY9PA4MDkBP2D1336o4cdPWsKo+zWezxUZ3UJ85bnZrHtIB/2N5dGJl/xOufWh1OM+wPm9fP1Zb0A0iG9p/fsNYgwyUi4D3kkP4TWR/rznP/G467O+1vuGUboY3NJ9tFUWx0h5Pf6q0d43IGuNmY5mBZH/+hmR08jXbgdNlan3pJmBvM6s/S2EW/qihDD9Qef3NObsucKhf79QRZVVZzAurtkZ6hFcxl32QaUfk++mWfo9ds+Sr19kjIczunoPg/3pXW+92iszLJHNry80x8rdx7rmJdQqOx8wbqlLvHeSYgU71PnCGeTdwvHJqfzfdDq4RMvH1jgVa3uNy7j+4j9ZOzFjRDGieuvMXnWbieK/rfTXJ4d6KW6JDc6efJ7XseqCG+dSKz9dz536G/cHWlqbpb6B4dYNkKxx/75PMX+SbF33mFXCv/sKEUnplJucSnTIiT8seRwKs85x3t3Zm5SJ1cK76cnqKfEl8KKvqeAku30r/7nCGCvNVLQri8o1kbZR5h7+nb93d+QPzU7ynqVtEXyOt6LcCF6ZwgWWkOPpciwxlm9Fs9a/A4fTrRl+6vtNDlnuA6ax6naOlpZs4BmAc0CmgU+xAKr8aytqamnc+du0ODg8l8CmpycJAcHF7KxOcEyhpb599uH2FDj0Szwc7WAcQhk35PrycvlyM/VHNq8NQuYtYA1ztpVBdqanekSOjTQdglG0kg0C2gW0CzwM7XAajgwV8OD5OW+SXazOoc8qmLobl2BDrQtzt3DZe/SnXQz/MCCh8zVr5S7LQFkWUpfRwfRrz3vmQ172D8wSCEx8RSbkkEAXxp6EhlY6E9zIXjPGieE24V3ZUTefXo/N0sT9TkMjo6WRNO7Sct3wxrLAlCMEM3w9ltOKquuZSBnbHyc2RAi2jhBd4TlzcxyUoCSBr3nHmgBoCBMcmLDBQIImnTtsLEIrmf5PGRgqaddubvUJJHK6zS1wlvRbWiAgvd+QbevHKDfB7rShqgAWud5hwqrb7HXryk5T563MVALAKyksprXY2p0mAodT1LA7nXku289NaZE0bs5y/fDFne1835xybbhuU/MDHIYZXiVPk6PJdgtM6+Q9YxJTmMAUvSBt2RlbQOFZ7oxr1+0DwVfOEhhx7dTR1cPg/yFZfqXBFIar1JK0zWaG+lnez9tKuGx75bl873KNil6QGy8Zv6u4f4eGU6Xv5sYoeEMLxotVfYzwoH/wuk6hezfRGXBrkwH77dfO16iEJv1lHLzOL03uie3yiGKAn+1h94bATAMoO9ZR/0dhneMIix20J511JVby2Dv06hCuh36gPVv7+3V6SYFhAzH3g+OD6bswhLWC3fqSnIozWPermRXej9jGCpYaJDXdEaynNl35mnU9FI+lxhCf+1ya9nfs+0xQfQL55v0pGRhyHMFvH8sQ7BHMvbJYiHDdQzzBXyPy6v1YPn4q0G26WM/Bfzuyqnjem9uEa/zVr+79Beu9pTlZsffL9wvjXuJ309PUkyUsgaxrY30uPUp79P24kZFnr8SAUC8d1Pj0igyIYVSn7ew7VNyoiit8DAtdm/wQF0SxRfu43XYHHGMoprrjae0rPrjpCSeR62vEmq9+Lwfg8pqIRKlIKYpjXXNL0igoeERHclyz43F6HWCTRSscVavxbMWoO2v3a/Qr1xuGVhlxuhObINOraJZQLOAZgHNAj8ZCyx2di6335JhVttZ29bWwaCrs7PXkkDb4OBIAo+k5OQMwgc2amvrpMePDV/ENLYd+NBmql1karlmAc0ChhYwDoHscf1bQpuWNAusJQsY/+6vtG5p7tY4a3900La6uppKS5XwW5Ymu1gfZEDWStJq+CN/JfprvJoFNAtoFtAsYNoCq+HAXItnDEBbfBxq83WgbW7eIS57lB4ip7i9/JD/2YBy7yburv17byf692APmpydNb0Y863Nfa+Z91qB6XDHIIOna2hsAnut5be6U2jFXgZWJhr099XKIAATfQt2U3bjPb6vFcDoZHOxdC87r2tqZlAGHnVLSeMTE0yPe1ol/TnUi9oGB6Sqy0fygiit7BT5F+9mHuiuTu39ildxTsxtBlzevlj48CHowGYKvbBfzWayXPzci8HY7t4uHqv7yWMqtDtIPnu+oKvp8eRTW8HrUJJrx0DR4ES3gZy+/gHmS8vJJ4RGBjD7OCOOwg9/w7qdOLWTrqZbBujVAu/mRfE4ABklHHP8hX2U63JDR4Y7WsPiEnlchEwG8AYQD5+IAjvyL9nOD3UATIqnKsLUBkbG0uz8voOXbWD5DzTRVMCg7Z2iLL4rFCFnZc7w+EYCyD9aFMn3HuMOU3UaK4un4XQvvtu0fWiAbfX/s/cWXnIkx/ro+1/eeb/ja9q1/bN97fXavutrpgWvvCRaMcOKGVY84kEN9jAzMzMzM/P0MEjfOxE11V1VXd0zI7XkkVR5zqgqMyMjI7+s6VTPVxFxJi0O+d72HGr66eIC+ibGYHPoC3jt/QT69nrpcL6P+fRbJG27b9JOeVRDT20DeZASMSiWNNurAln/7BlC/3AamXtv4i/Od/APl4eiiOFKXrYULppykor5mCsTI3lvpoaF/LQFPZ1sd1DwYyz0moauFpUNTjbx3nSNyp9Hsd/c9V3H2zgeoB622dwYau+b1ON7Drc5HC/lDBYL/d7TXtNzIJaeqhJeU1/92kjM2OQ0JKYbcwdX2EXC83s7MTu8TEo+e4bkjRcwEu2IxBg3xsmuOJf3g0h5IoqzXe/xH/amK1LwE4db+CLUG6lZuQiLTQR51vq8u5fz2rKtz54h6NfHEHlT8P4+GB+G7ztRuGEX+OXv4H0S12TuSnmf0zKO8V6ciLtkTmxV7dEnj8P7648wPyHgW6tLZpKZ8viKpaDNC14FX+NMXBD+y+4mEiKCEBAehYy8lcOGizqsdbXGWf06nrVE2tLPBk955Iqnxo8Fa0Gs6dEQ0BDQENAQeMsRWE9nLXnJEllbV9cIV1cfA2lLHrfkeUves+RFS3JikZK21C4dJ8o871Ukc7WrQGprOLzdOLQ0VkEZAtnRZhvI21Z7Nt7uZ+N12v/nPQ9edJw1ztr/OGk7Pj7OuWxpMeIf2tYCzNOnTzlMMuXDHR01/cPoWnS9jl/y17I+TVZDQENAQ+BtRWA9HJiv8oyhEFPKL7i09/SfK2lZqS6StnfKMwykbWLmKb53LDiLJ/Hb+Q/NGR1C7kfynn3nyT0OISudx9z9ufR4Ht86NmJOBBN6PQIjYuCVcQyRFReYiCVCVkrykBcmkTwR+WcQmbOPc9gu9Auha80qXqGD/k9COStTMoW8qCuIswcq2UBewVTu5Wfy2j4JkofKpb7x6mQmZIo7/DgnJo1Lz8k3jCWZ1Ib78MreCr+D/0a2izycaW12KpNJ+bGWc9CKYU/FMMG0nqa0cKQFPODxYe4P0T+lZzsdgoWcqA0DqWw//bO4tISwmASERMeBPJm7ygsQfm43j427dgSJOoFoSFwmPw0DLdyUd4Xy2q8n70JgyX6WzPeyQ9A3m2SjyNuZwjHT3hMhS960tCex1VfYg7a/vpLt6KkWCEYKC0w4Nre1s57moWyepyf5MaYrU0F5lKXe3x8H6fgFAzHcKD1PE2leHEZZ9EalHLX0rM13VLNO8rIlYqVHP4GRjhaevyU3FSXB7nx//O5pzLXICc/FmTno/msHql3iZOsTK2Q/EYP1aTFiE4KObTJ48ZJHaOLpKzzv1chQg4x4I3rZTs4N8fNDGKTFRrHOrgpjXuYfON3FMZ9HmK4w/5IE6fQt2oXcVmNYYHEec9f0phq2Las0w5yIxXb7vDQe39FoxK29s5v3clQS3i7N7hqvaXF+bV7A9OwERQp5hMkQCoWctN1IoFNI5LG4J+j1eYQ/ejniPQ87DmksGl0W5sXzthdlYXG0F9/6PGB7bQOCkJNbyARw3gVPUZyvpfdD4fWXU7yGHzjZ4HC4F3oSH/Lz2Dhg+sKJbPByZaGvGW5JR+GSsxFNw5a96dXGi20+Oz5ByM7dYhW9ubVM2vYXGV8EobDYCTXX8Vvnu/jS7S7b7RUUhuDoeLR1dq/53FjpXDEYo3JjjbP6VZ61KkvgppUwUPbT58qfXe+ZkLbm9GvtGgIaAhoCGgJvFgLKc+FF65bQWU9nLRGu9L1VSr6KRK7oTUv99EOyROKKP8eOXUBVVS23E/FrLjyyEkvChtrU2icnp6H9aBi87c9AZmoYnG5vgdeBj/h7EIVAdrE7ov1uaJ8Pr+UzID0PlZ/7L1qX6lbeW+Os/Y+TtrSokZERJCQkMHmbkpKC6upq9PT0YGpqCgvLuexIju71ej36+vpQU1MDkvXw8EB0dDTGxsaU+Ky5vh6+5K/ZaG2AhoCGgIaAhsCKCKyHA/NVnTH0pVbtreQVQVIREEnbW2XpBtJWbLMrvA73zM1MYHhWluB6dgrfp7cLBK6KOpMmynNKZNK2KCF0p4nAcsPk1DQ8c3bDM/UsRvp7MZ7gjJk6gUxdImIxOg5VcX7ISj8J37ytoJC20kIeks9TqusamMAYGrE8nsL6EllWVFbB09QPDzIWfwsQPPeelMojitQ2BTCBM9QnEFW1jUKoVSJVu3p6WcfMwjh7yAY77OQvSzMTxv/nhH57HN4HP2ci1dK6RIJ0al7whKbwwX2xzrCJ9MSh0zvhd/AzzE9P4dNgT3zsagP/gp3IanYyqCQPYFpXZ2szku9fYDtCTmxFa34a5lrLcMdXILD0ayDSAksOILz0Kv7gdZYx6BwtZX1EXI73GT0rDUYobrwLvgaR3aUhHmwPeauKhchl8gimQh7D5M1bnfItchvKeT/Elwuov2lkiNtOpBjJ0iX9MHvVUg7cp1NjTNiKYZHpxQIiVs6mGclXCl3te+QztsP+3nl83/4mpgrloX47kkqZJBuuFshk0VbpNfPJbfbanRkfweRQP+tryRPI84XJGdjr7vPcRY1Goo3GS71sRX20xzq/QNZRGW3M/7wzJhi/cL7LLzRIvXrFceKVcirTHq22HAn3xM8db1kMu2xJF3miE66ecT4GMcqXTM8d/W5TqYoN4vXkxtkZZFZ7U13fyLroO8RQRSvvRUuk8Pu4ND7AnvsTad44tukE2xHdVGeiOvTUdqQ+uszttcneLLfZzQmZrpGsb6xJHlZ7snsYuu/vxFkvIYdyVKwHanIf8POo9GQ3mUzS0F2bAfuszXDOOS5pXf1teyO+MBgAACAASURBVG4O45b/2EjCzwyOs831vmmsaGFphu3KafXndV32tmW8iLSlKAd1jfLQ3auf/fkkrXFWv6qz9vlWqD7qh/a30DHYo5G26vBorRoCGgIaAhoCVkRgvZy1Um9akYgl79qOji6Dl63YTuGPxSL1tBV10PdfKrGxyRwqWZTVrhoCGgKrR4DCHbtcFr7b0ndzLQTy6rHTJDUElAhY46xdF6StuLDJyUn2ms3IyEBYWBi8vb3h6uoKJycn/qF7Hx8fhIeHg2Tq6upAY6xVXscv+RbX/nQBPbVJyHCzRdTFXQi8eBUxbkEorO3HzFOLI7VODQENAQ2BNwqB9XBgvsozhr7A0tvI0lBStKFrfZNMJGjperooX0bcPi4SPMd+/PAa/uTrwn/wf1hoDEO62gfIrbyQx2Z2WvYmIwLOL/UO5y4dLUpgco3yTJaXlKA1xo0JtqoyRyYgyMNULIG1Faz/h0/uYWOEH2zy0pHU2sihWUUZc1cijQLCo2XhVdVkiSij0Lyzc4IX4D8D3Q1enHvjQnn+Fok3cVz1FYTk7MRskzEHK4WEjYhLYsKEQizT3M2DWdAlfcHES0WkL0+tHxRIvSi7O2qmyNr8i/cgrcEYbrO3qYZx+qeXAzZ7C6FfI87tgdfpHbDbvwE+Bz7muehLmtpPebg3RE/H6dIEbPB4AFrrakvXWBnvT9dYOf7l+Rj2mVuRVHMTFMaX5mvMjLeoamS6g8dTDs6oywcNRJo4SCT7xJzC3nmbkZt7CUTM/tTVNLQw5bclwjC70+iVvdDfyhhRSGTKZft0RniWjiRGsix52VIZ1Dch0Ecg1IPObkVaezP3p4bZcbhl0ab8y97w+5k8/LHYJ16JrPU/+BmynG3QVpDBWEz0C0Qg5UDe6GaDD5zuYmpYHqpb6mUr6hJDCwed2YUMB2N+TK+qEravPNIeiyq5e8XxrUO5jPHY9MoE+tzSIhPVF4OdxeHPdf2N63187XHPMDYjtwCU05hKb43giZzhfgtJdbcNMqu96e7t49+pweERFFz1hfc7e7A0t8Ck/ESSG3tW6/VjePfhLfzm0hWTvMM0j+htOzsxhrn2SnzmaoN37G8j4PenEPv5DVVT4r+6jU/sHuG79rcxGOeI7Mq78C3cqSprrpHCdp8OPyf8zqwxZDXpjL9wDt7bPwIRtdLi86N9yL8ikOTdY+WsP6wshJ8PlwAhrDORtoHh0RgeHVvzubHSOSO1RXlvjbP6VZ61SvvF+koYKPsvRAje2k9SVx9qXpxLu2oIaAhoCGgIvP4IKM+FF61bQmQ9nrWWPG2Va5GSttQneusSZmqkrRJLGkNtau3KubS6hsCbjkBrUzWHQPY8KvwdwGv/RxBDIL/pa9fW9/YhoPzcf9G6JQStcdauK9LW0mJfRd96+JJvrXWO18ci6vinqn905T/EHr+J7PopCD4M1ppV06MhoCGgIbA+EVgPB+arPGPMkbZr3R0paXtGQdo+KHblP/b/3eY8/7F/U7gfpqdnn+vnAy9HfODpaHZs/2g7z1XRnoTQmAREhIYwsTacF4XBOGeMJrhgqr0W7YMCAdExWG3QRbr/5ueKK+mJ2BAseL4RUUc/P3F5gC3h/ribk47Exnr0jY0bxolrKa8Sctt2dPWa9JFM/4AQlje/uIz77QqyWXdEbRXXu0ZG8e6Te/gwwJ3rQ2M9vJbivFuYyA010UkhgcnLMDQ6AX39g4irvgHv6xsQcORLlk1xt+Ozvb6y0mSsaDNda7qFEMxSLPSVmeiIfcL20ZqLgjyQ/PAy4m2v4eipHfC49TU87TcgP8QVvg9uIuTJYzTmpKO1OA/DPd2y+fqTPFjPtxlJsnapDcr7pFobBBYfZPmQ0nxsDP6GsRgc60bw8a1Id7pjUVd1VyLLd3fUMgaVcWEy+cGhEcauuLwKU32diMrai+ji0/i+411cTkuQyYq2/c7LCb/ysMPwhN7QP1lfyM/XZEsFt9X09fJaTyZFY0w/jIwGJ7bDJ3MPvA9+hKDkkxgaF8JMX/d9gKmeVoOukD+eRfLex4a6OK/yWpkQzmuKunLYsNckM1BbwHPvfPAQxQ+N653Qj8G3cBcyG51NdCekZsL38jGEnd5h6Kvv62c9joG2mKzOMrQr7aD10QsSJe2mz6ZSNqw0n3UWlOeY1acco1Y/FxsseCn3trGesJhEJGVkY7CzAwGHv0T01SOo6IzlvKtq4y21DQ4JOZlr6hrh+38PIu2oE8+hL00GkbbTY6O4npnM67jx632oDzNdy0CbEAq7IiYI0xMTCAx+zPJn/3wIdcHqWNb6p+O7j25ik/tDfsEkrPQU4qtvrRmnwOwEXEveAZ/8vdBPGp9RS2sW+3x3/hv+W7aYzBnz+XXEfinYkt/iy/t9NsId37O/iYDQcPiEhCMmOQ2d3YLX/1rPjReRt8ZZ/SrP2hdZq3RsVbvgRT8+LY8SIZXR7jUENAQ0BDQENASsgcB6PGulpC2tUfSgFT1tRU9atfVLZYX0QGtLpaGmU2vTEHjTEaC8tMoQyK72R9/0ZWvr0xB4ZQhY46zVSFvJdr2aL/mL0He1wM+9GBsu5OGHp4SfD64V43psC1r0ixKLnu+2J/Um/Mx4ycg9Z7YgKrVfI26fD2ZtFCEwEI3DvzyOiIG3Cw76UnH+0mVERkW/XQt/jVe7Hg7MV3PGCJtkjrRd65tkYv5aIm/PFOXJPG3vFvvxH/u33ziK3+jsMTo9xd6h5CG61p/U1iYmQdzLClXHdoyU8Fz94w2Ynp5BRHwSaqM8mFjriXPD3Nggj9PPDLFcfV8q16MahHybeV3tMr1lfd1wKyvA/vgwvK+z57lFIje2qVYmS/9RoryqsSnpsnZxjeQV6BMSgemZGbSODOO/HO5gR3SQTDa8vorncCzORXlnGDzyNmK0IZ3tX5ybkcmSXgqRHBARzQRkeW0JvCM3M6HXmJkA30Nfwu/8QZMxoj3iNaz8OCLKT8vkJlI94RkhkK3FPZ2yvk8C3bHN5zLjF5XpCZ/gcIyNj8tkRN0Lk6NICLXlNaW3N6vKiLLidXJ2GLq8jSjtDDbI/8b1FtxzN6KoWcdepqGnthn6xHHSa3azM8h7uCE9jvEY6+0ykY9LSUdoTDymypORlXkKuvytbGfVQK+JLOkmHGjvL2Ukyvpn2yoN9cMJESyT3xYDv6Ld8C7cjsKWIOgCg6ALO8X7OTs/hc9DvfEPlzuYqc/nsVMDoxyKttY7xaBLuh7lfez1b3hdKY8uG+TD4rx4btsr9gh47ygWFxa5r6wzFLr8TZiYGTDIivp6+vrheecq65qd1Bv6Ka/vZh979i4VZdWuMVWXEFNltEFNhtp2Brni1063sTg/a5jDnKyl9rQ24fc/NSeG9dBLC8WlZYi6fAhBRzdCP9SPtAbBs7971LgvlnRK+8gLPjUymfeiK7MSC9N6/t2bqctF53J45qOJkQj9wxnEfXVLdS1xN44j6tIB7quJ9sSP7G/ib2cuY3F+QVU+pbGe9y0w2BbDJTHCs99hfPal9lm6n5qbw//qLvHvZUlHoOpcauO7ywUP5cxbj03G5F7wRMAvj3A77XV05UX8wfUuPvd4IHglDwnh1MUjf63nxkryol61qzXO6ld51qqtgdpWwkDZb06P1q4hoCGgIaAh8HYgoDwXXrRuCbU35axVrlGJmdiv1k5tau3iGO2qIfCmIqCFQH5Td1Zb12oQUH7uv2jd0pzWOGs10laC8Ev/kj/chid38/DejVLosrrRrZ+Afn4Bc1MT0Pd2Iya8FBvP5WF7UBuGnpO7nalwWiVhK4Y+3IL4igUJCivcVtjiZ798X/ixrV5BWNpdjYfiOMn1cPSIIMTk3/t4KKQDlA7EcPRx/OyXthCyVMi6Xnml0vZ9/Ey57mVMDGt5RVYJuCzvBWF6NBryP7OtzRDWt5IOXqtxL0QbTPZN+pyo2MY4muzp8jMi4rv8TBiet+XnxmSutS3zuaRFkpZs+cfHnyI7O5evtvaOz6VPG/TqEVgPB+ZLP2MksJojbSUiq7pNyDpjIGqVpO3tkigmEs5c34e8vLJV6bMktCXSH+8638fY7IyJWG1fAs81tyh4Ic3PLyA9MRbVUR7o7+uTyfsUbkdxhz+3UU7ZT4J0sn61yvDMNBJaGvD3AHeBnOvukInVN7UwmdHbL39DRQxFW1ZVw/Kfh/pwjt6BaWN4ZlER5RQlcjCg5Bsk1FwH5dMcj3fCQp96DmAKtZySmcPzhmc7w+v0x/DZ/y8m4rKjQkS1qtfe8WrGq23YmEt3cbib5zsa5o3/sruF/sEh2VgxTLVn7iZ4JFxGY4sxZLBMEMB8TwOu+gh5VmcWV/d/iMruCLZJzK9LOh/lpeF4zD745m9H4zIRS6GSzZXIyrNIqb+HDIcbCDujHmq2qbUNfoHBGE94gtpyF57zX4GPzank9kuZibw3pX3dJnKU+/a/XS/BKfcI68potMX0/ChSsnI5VHdMViC3Nw9lw644l/X0ZAWxnuawHCYKJ9r6TfSqNYx1t/H+irlony3O44DuHn7qcBt10Xmsqz2uCAtLswivOIXcVmOuUqW+MC931jXQYPy/2vn0eHzX4TY/B5Sz11wRwy7PL06bEwHlMabn+Xbkyr9fZpUsd1CYZdJ1McAe4xN6fubjHl5h+/vqhP8YBhTvY5wpn/FaS1RiCgId/RDw3hEOfzxbn8d5sZ/OTuFQQgS+63gH/VN61HmlMMb6DtNnUHw+mytLER3ij/PewvM/OD2las6Z1Dh8x/Ym+uMcUV4pPPu9E8LnhOoAC42Ho/xxIvogr18/a2qb2tCUa9cYv/E202daXOfM2DjrzGoUPvfOeDsiNTtPTd0ra7PGWf0qz9pXBow2kYaAhoCGgIaAhoCVENDOWisBqanREHhNENBCIL8mG6WZ+UYhYI2zViNtJY/Ey/uSvwh9eSU2nCuATeHyH0mfjqA8pRxHbhRgg205QmuXycvFIWR6FeC9a5UoWKvX7dMuZJwRydg1XM8EoW1VOW4FUk1OTlLbajwthbFywk2uT5UQBWCuXbJ11r1VEI5Sm01sUSWbRxBxVEKmquEjm8NIgq5uIcv6FQSriW2rU2aQeh7S1jBYciMQufJngm2TkbTCGqTPksn8al68qnhLJn9Jt+RRu3X7LvY6e0lTcO5R8t4tKX1x8utl2fg6610PB+bLO2PkO0N5fcRQUnSVhpNa65tkSZknZaTtvfJsQ528bymMqu7kFrTFFMqNeI5a69gIEzfk8agsBW2e8CncIWteWFxEXWOzrI0q0VUXkNpwH+ntLayP8teutozMTON/vByZeK0ZkhNtQZGxiElKlalKz8mHX2gk5hcW4FddxvP51aj/DhOR+4HnNcascSCd9Uwku2OmSriXKZZURMLYy30HkzDeBzegvicDpKOmNw4V3eEo6wqR/URVnkNgyUGJFmCmOgMTKR4gb8u/OD9GYWm5rJ9IKyLO3NL3wC/3mKxPWZmpycQ/XG3wWai3sstsPbj0CJLr5Hl4iSz/H4/zjElViT+vryVPjrGocOnpPMuVd4bC/8C/UejrJHbJrgsLC8iL8GFisrG7lMe4FHnJZJSV6YV5/NLDFr/3eSLrInL0dobgfRxcdhz9E3XcT4Q3eYNW1zeivrkFHjlfI7nuHioH+hjD4ODHeLYwh6wTLuwdK1O6QqU40JXzuJLYQk8jfuRwEzu8njDZGPirb0C5Uks7g3hdRB6bK02NDYxnbrBx7fS7QHucGGaLuTaBDB0ZHUNVXQMS0jKRV1zK6sTcwa3D5gk8/5Is1tXQpPK2nTmjFO3D1e0ovO6PuC9vYmuQGz54chudbc3wtPmWba+OE15O0M/283rp84aI+7WWjOx86By9UXQjAM8WFzCR7IbpihSU9ffwGsRc3AuTM/B5dy/nvlXOMT89Bd+9nyDe4Q7vfa7uAY8lol6t/NjlAXboHqE3xhmhiXfY/sWlWTXRFdsoX/L3Hb+FZ+4WfuFjxQEA/HZ9Bv8tG1VF+/LqmJyuLRDCjYfkCaStja8nxieEnM3SgWs9N1aSl+pW3lvjrH5VZ63Sdml9JQyU/dKx2r2GgIaAhoCGwNuHgPJceNG6JQTflLNWuUYRM/Eq9ivr1E5tau3iGO2qIfAmIKCFQH4TdlFbgzURUH7uv2jdkm3WOGs10laC8Mv6kj9XXYkPzxQjtFf0RhlDsqMxNLIYIvlUjuj1sIDuxGL89Golytfw952lMifhD7qrCo0sJXU/Rbz635gl6NCtOeJVTtApBi1X1cZC8KIVyUeFF6cwUH2c+hwv3mpCODJJaCRV5cSonHQWZjdDRkoJSwUZaUJWrrAMwUajTSuIr7p7VXao7pF0CvP7JccOgEyXyjgFTuIsJnrEjpd4JdKWCFXyuH1ZRfTm1Ujbl4PwejgwX9YZ83IQE7TWJH9iIGnJ0/Z+QZihTqStT+EeeNzajEqnGKuYcSUrCf+f3U2Qd6O0ENkXVXle2mT2PrPJHmHlJ/CvYE/8ztsJz8xKqnf06CfwM7dH/NMxLp7LYM9TIuq6ewXP3pGxcSZvKmrq2Evv+053VyQxfUsfMXnjUJzBk0+XJ4FCFq9UxvV6RCSFc/5UyjlL5JXyx7doF4JKDvHaCSuRGGbdz54xYdtQlMBE0/mwIARHxZpM+3vXRzgbdZR1m3RKGgayAvD/2t7Ag4IsSav5W9Hzt3O0xETocHwY7qdtQ0zeUQQc/gL5XnYmMtQwoG9gu2pKIvn/Ot2VRapy1DiU6I72WDfYF+XAOWcTsluMxKW5QVmdbYzNnTyBRG8bzoNv0V44ZW+CTdYD2TAi74nEpzI8MgqPpHNs28LTObzjdBffeN7DQn8rgn59DDln3GVjV6oszs9hYUbwcM3ICGWbXNNTeFiFXSR0P9sGr/ytWI3Hqc+hLxF044xhyumFBfwf+1u4EOCAnmQf+IdH8TNMzzX9UBhhegGBSmDJAWQ2ORjGKm++8HHAH53vAM9W9dafYfhUzzAq7KMR9sczTBzqvrOdry6ZqbzWjGA33t80++uGMY0DwgsiWc2OjPPsgimxaBBWuUkLSuD1DdV2YK61nAn9Jf0IyBP/F+6PIfUWzz2vg+//PYDF2XkTTRmON+F76At4Pdah2sYeH7rcwfsetiafMTldwrPkH/QYeV6u8Ew88lxks2jA0rNn+JHzPXwbcYbX3z5i/tmnMUNNjYxhyoVbogrZdXZYz5inxN5nfWeD7fEdu5vILLCsV6bkJVWscVa/jmftS4JTU6shoCGgIaAhoCFggoB21ppAojVoCLxRCGghkN+o7dQW85oiYI2zViNtJZv/Ur7kz7bD5moBbKqFkI48XWM1/rycy1YkbPl6qRqCDwdJ6VHuU4APQ0zDmklMlt02eH35nKTth/DzqpfpMq0IpJoxVK0tKmXeooJnqdQrVa5DhZSjP3ZS6GORtFUj6WTEnqBR8NoUPVnlhLG8T4XYVLGZ1iTYrW6jdB1GwlDd21Uqa7hXrMuoQ5QwzqtOyC7PxWGDTUlhUYvadUU8JINke2Fol+/7w2jKYSvBVbE2dfuXlZnspXEtPE4MiyzOrdAtNsvwYxlbVA68vNyyRNgan/v3OY+tSLCKOW3FOhGuFDJZlBf7RdvpKu0XieC2tnYOtyyOoyuNFfVK9VCOSfL6FcldUeZ555ba9ibfr4cD86WcMWvctLW+STYS92MDSatG2gaVnoKX7mvknPVYoyXq4hNzs/iJywMcS5b/TlN+1vRGyyFuRY3keUqEJnkUBtc9X2D9hpFBvPPkHn7r5QDyBhVLSHQ8KNQqlZSsHPiHRWFxcRHbo4M4l62U5BXHSK/k/Xon/Tjb1jQ6jPnueoFAmjTvMSkdH+9wERWlMRif6cH0/AjmF9VDs0rH0P3iYAfP412QJhBjVZUCiTVinLesqhZ7PFzwRy+BGBrQq3sok6diZIiQz7aot0s5lWqd9o7C20rLZLcQ0J+8HT8LPMZ7lnj3BCIv7JWKGe7Jq5j2tSjIGb77PgWRm2JZmluAqG9xqJPXmhrmiw90DniYeQCJtTdFUYvXI4mRjE92mxCO+27GGfzA6Sr6p4zhrts6uxi7lnZjCG1dpD3bRmTagfgw/NLxFsbzEpgYa4k0hqi2OLlK5yXfh/ie/U1DKOuZoXF4XN8Mz6wtmFs02qQylJsib56C1zdbUV3XANrf2OQ0/NbpAf7HyYYxSs/MQm1jE0bHxjE0Msrrql32Xs9pceH8vWq6KSQw/X7ZxvqqdZu0zetn0OCfjrgvbjImPj/eByJHB4qbMN0n5P3NDkzBO/cvw/PABvge3YzFOeNLUkTW0vMzPNXKOLcM5ZjMYakh4qQ9r41etNCneWGqKBopy3l0wyXho0nHSG0H29gYmGmisqM0j/+f7bn/DHoyy+EV9IhxyOtul8leSBdejuiNdUSKdxg8crYgq2bt6RRG6joNeikCwQ8dbiM0ezcCi/dj8akpqSwKZ9y7y3b2FZsPx+z3s4MIij7Cea9//+Q2PnK5j8kp42edqIuuaz03VpKX6lbeW+Osfh3PWiUOWl1DQENAQ0BD4O1CYKWzc639ltB7U85a5RqVGIn9au3UptYujtGuGgKvGwJaCOTXbcc0e/8TCCg/91+0bmkN1jhrNdJWgvDL+JKvzyvFD+83QOozNJRSBBlZayBwixA6KDGovw7bT1VCHsBQ0q+4rXoi9Z5d4/2T1fxh20guGqY2Q6wZ+g035sZKc8QaSTxxmJLME0hICWlYEY3D0UK+Nu4TCWCREJYSjEwaSkheJYkoEoDi5CpXkTAUyEmR7FURNDRJCVdqFOpyclu6bnM4LdvNNq5m3uWw0pbwMNgo3PCaJPKiZ7U0hLEJ/or9V+6BbAo12w0kumRfxEEK3dy8LG+waVknEf8vsxBpKhKsNI9IlIpkqlgnslUkU+lK+W+JkBULEbbSPLhSvUoyVm0ealPKWWNu0b43+boeDsyXcca87D1bibSNqLwGr5htCPvzOauZ4l9TzkRIaH2VQacufxNKOgIMdUs35CFJ5N6ffGwsia3YV9LXzbku/+bvhqkFgSBpbmtn8qe0spqv1fUNiGysYXudSsyHkqXJ+iZq2K6K3mwOv/zPQHdQTk3KazvTYOqBKhr4dHIUsw35mEjVsexkruV8tuI46XW6MpU9evfEhnJ45Lm5ecM6SG5weITrcXn5+J7jt2xnVY/65yrlxj3nfR/fc5SHOpbOJ72nPMSe+ZtR0mncv7bYQqTsemQQ+yjQGW65GxHrvJfJpln9uKFPvKFcsqFlxxB9+SBSHlwUm/la45HIRBt5tnboHDEa64y7/oG8L76l9+FbqJ7/VqaETuiZafzM9S4cs7chrOIaj7+YkSATC42OR2RCsqwtJiUFutytIBvF57cs3Jltmhk0XYtssJkK4fwbp9vY4GZ8WWFybhAeuRvheXobiAhdqZSGeTGeohdtUkY2zsdF8LpaYhyw0NskUxGdmILwWCE8ORHQ9Hs0qJfL0ADX3GTW0dHZIBuvrLTHFyN1ny3jQB61iV/fQ0uE6e9J2J/OIvOYM+5/swm6PR8jISpSpiqgeD/SG+l5eQbfop3IsuABLBsIYLp/DLpfHeLnu7syj3+HRvpa8FPXh9gQ4qUU53rMhmuI/PCySV/fwCC89/8bvju+5j4Kbf5Dh1s4FB8mk/252yN8rbuP6dIElFVmM46JwbYymZUqIzUd7PGbf1kIQU75lokoD4y8yfoseVoH7N4En42fWZwibuMt6LI3IrnsrvCch689V7DFCZ6z0xpn9et41j4nXNowDQENAQ0BDQENgTUjoJ21a4ZMG6AhsG4R0EIgr9ut0Qx7yxGwxlmrkbaSh+ilfMlX87StrsRPDUStJEzymUqUG6LMLXvaBrTD6EsiMVbltsphjUStNIyyQzGWVHTKm1YgFOXCipowVupJKNxLCFiRaDUQhwqCU43EE2dR7ZOSoQqvXh6nWA8RgjS3gUgkb165fQJpSe3H8dD2uEm/aA5EMtHgxSv2KOZcbia9IhHJc0i8TmVkqso6jTa9b9lreZkwFucRLRKvsnlM9mJZirGRYKKwR2m7qFu4qq19+bkw7LlkhARD2XMjlVXMLxlt1VspuUqKRaJUSdqKdZJRkqtE3h7+5ji3i8aRDLVRn1JebR41vUpb1GRWmlu0502+rocD86WcMWvctLW+SaYv2KnwtA011G+UpiG25hE8czbD+909a7TEsvjmCH/88Mk99E3qwURV3lfycL8Whhf1CHlM3UqMJKEFcYtdojfe52E+BrmwWCHUakB4NIamJkG5K4nYXanktDiDQhg/fbZkIPYoH6Y+OxCtjg/QkSTkEyU9zxbnMd9Rjcm8UCaZiNjVZwVwXlq6p3ycaymUw3OmNoe9h8+kxfFQymEaGpPAnsLkQRwel4SlpSV87O8Cu4xtSK68pjrFXHMJ/vDkNrZE+Kv2KxuJ/PXI24jJOePra+F/Pc9EHnlaUgmpq8SR6P3wjPiKScbOUlNiL6T0KNLK7nN/XXKEYZrF6Tn4/+IwEjbboOyuH+NVfPIyPrt6C9+xu4WgO2eZ5GrKzATlLF2p+JXZM4H8gedNJrOkXrbkhUoEaG//gEwN5Qf2TD0Dr4Kv0asf43FPAh4h7t+XZHJrqdSUCMTo7RjjWtMaHsEvfzd0P9iOWp2cOFbT3VGay3g1VxlzYJT397J9vuFPZM/R9OgQqsvLeH1ETpInJ70sQflzleWfusf42O2usllWzzjiyHsc/pdzqHKOw/SAMdS4TBBA/hUf+H66kW39+7XjqMgXwoeTHD03RB7X9QlkMpG3/sXq3thKvVSvdokTSOOAEAyleGEyJwgnUmIYg/Zxo6e5dGxzeC6PGSxvkTYjNz0fXt+eYjspx+3S+ABOeN1jXWPL6RPI+5zIVd+gx+zhXtkZKvpGbQAAIABJREFUz/b7n70h02WpMtrQDf+fH4L//+5nO8Sc4b/xdMCOAGekZByFLm8jxmd6TdRM9PawfQknLT976Q8F73BdnPCc53W0megSG9Z6bqwkL+pVu1rjrH4dz1o1LLQ2DQENAQ0BDYG3B4GVzs619ltC7k05a5VrVGIk9qu1U5tauzhGu2oIrHcE1EIgR4U9We9ma/ZpCPxHEVB+7r9o3dJirHHWaqStBOGX9SXfkNO2f1GY7ekAQh9KyNplAndfivhHwEV0pyzntDUf/UxiuXD7csMj0xwqpJsJabZMwv1yOXyxgXyUj2WC0NAnWYpUn/SeRJSEoWSYuT4ZibiSPpGsldilJDJFglQgPoU1mSNBRfOEMSLRKcdBJiPOK1unGnGt7mkrs1WmQ5xl2ftWnMfYzHey8TAjq9SrwJTXKiVVpXOwrNx24TmwxUMTcpsSGFIoZqMHLuk2wVohI53OmvfWIG3J81ZGPi//jojeuC+TtF1pbmtitV51rYcD82WdMS8Tc33hbgNJS+GRHxSEGOpE2iY3uDMhofvRdgxVmv+j/1pt7J/SM2m7KcIPPeNVPEf/hDGBgCV9hxJCWL60S+6tZ2mMpT7y+CUShrxUqbR2dDKxVdvQhMOJgtdizWC/JRVM1HoXbkduq5Hc3Rjhx3pzg7yZaPT+wU50xSRhuiIZ44ku3Eb5bmfrcrGkF0IJ0yQztVncN9du9ES2NDnlViWit7ipkueLaxbSIYgEJJG3RESOjgt5Ql3KCnA46gB88repqu3MFdb8pHR1YX/JOzah1khYkacleV0G/uobkEejWP7qe433zXffxygOcBab+bqwNMN9mTEPmJCa6DOmjuA8r9/ZjqneEcw2FfFan05P4F1HG3zkYocwOzseq9u4leeN+vAyKK+qWpmaG4ZXwRZcTb3IWFFIWrEsLC5yDtjEdNM8vhQqWRf1mOfpGivDB5722OZ+F/WOK+crFvUrrw+D7NmGyuZm7hJDA9f3J7MXKOWEVZal2QUMV7ezN2vp/VAk7r3NeCWfFcJDTw71o6+2HJuvHYfN9W+QdGkXoi4dYBnvXR8i+f4F+IVGIiO3gFUn1Fw3ycXaOT7KdrklmZK5oj1DFa2MdekDuQeq2K+8FjoLeWwDH15n3WEJxhcumgezGNfRaSFUsJjfVqwrdSnrEX+7gIRNd5AZF8HPRmZ5Ds/hYMEznsJtU/jg7JOuMnWB7kHwui68ONCYGc99RUk+rE9XUcx1ystNnxe9yR4UVxjZzU7wyPkaupMPORy0TKFKZby5FwG/PIKoDRcRePhLhO7cC58f7cNE+wDu5mew7rZER3jnbUVstak3cJ6DI+9nW7Lpiw/S6VJjhPzaZ3zv4Lv26rlvpfKv6t4aZ/XreNa+Kny1eTQENAQ0BDQENAS0s1Z7BjQEXk8ElCGQPY9+DEebbaB2rWgIaAisLwSscdZqpK1kT1/el/xF6MsrseFcER6XLnuaLPYh06cYG64W4MMbxbDJ6xMsWRxCQUAR3rtWiQL9MskrsdHS7VKZk+EPb/THt9X/fIp4oxOGhSlUCMdVk2bKsVQ3EnLGSSUkJRGEEgKQCT6F56s4zlyfkkQUCFT1fLhM/ErmY92K9fF4KenJJKbaOkTL6CqsXSAcJesziMg9gmUhlHl+kfBV6jIo4Bsp6bpaPKQapONFG34mXSsJr0DampuX51GOlbwEIJ972SoF9gKJK8XClNiVrsea99YgbZU6lPa9TNJ2pbmVtryJ9fVwYL68M2b1O7bWN8n0hXsMJC2Rtg/zgwx1Im0zm4MFQux320Ahaq1ZRLLUs9SD55ieV/eKk87ZOjbCpIZb3m7ktsgJF6ncWu+JoCQihrxUCUMiOlNam7jtRk7qiurEULMDemM42d7JCXzfyQb/c+sak0kjUU58FT1pKTeruTJVEMmyiyOmnnbKMdPlSdCn++BRYTbbO76cK3RmdpbJWiJsa+qN+Wt79BP42P8EY66fFV8mM2oNDHVgPdWDy/9vMXaZ3BHRTl6SbcNGgjf096eRsucxujOrmNjrTBY8jG3y0nEzZTv8LmxAzEW5J2X3WAXrSXx8DmGndxjmmRufgu9P9qPgqpBbdYLzlcYgsaWBbbwfEcbhfr0KtqKgzhPtCSUI/uAkiLglglNZ0hoecu7UzolB/Mj5Pih3q1hKKoSQ2GPL5LbYTtcJvR66wEB45m8BeVSfDA3G9+xuYihx7aGsSd/S5Ag+drmDvzjfw8KCYGd8zTWQtzGVxqBMxq7oZgCK7wQheedDhPzuJLcRIU4/RPxRDlnvHR+Z/f9g4MENiPv2MBLvnkX4ud0sl5ebB8/AUNDzIeYRnlkwesleSwpnbAf7jaH/2SjJP7Gf3WBSnrygpWVmfARjPR0YaKpBf0MV/3SU5PC8Xv/+FLnecfiO3U2c8jGGziY8/Yp2G9RMzQ/zs1DTG2toM3czWtfJWDQFZ6Er2Redcc4gb9XVeMYX3QrksfSMUZmZmILOLxiRj3w5RHfC7VPcPt9Zgz8738afvJ24/p6HLTa722C2USC+w8pPwD/nHDztPFfM/U3EbMB7R/n5THlw2bBvfp9sBZHP9X19jL1PZjRK0i4wDsr8vsH7tsF74wa2xdI/sflX4ZW6A5TPdmOQuyVRE0+UtZ4jSnlLk1njrH4dz1pLmGh9GgIaAhoCGgJvPgLKs/JF65YQe1POWuUalZiJ/Wrt1KbWLo7RrhoC6wkBCoH85NpX8DogfK9zO7cBrvbC98L1ZKdmi4bAekdA+bn/onVL67XGWauRthKEX/qX/N4GXLyWh/fuliO0vBdDhj8YLmBuuBcFKeXYfi4PG1wb0L02vlZYxdMuZJxZC1m7LHsmCG2GsMwSQExulcTrWkgz07GqRJ0Ylte2GiaelUoST2qfap+CDFWQwNLhfK+mQ9FmQtouhxw2ITdlyuV2mOowg41tNRgjBXFqjhiV4amwWzBHbofMRBXPWrZTSWIriVeTeUzXIp1bipNcvzBO5klrolvF+1dFRrkua9SVpKcyJLGyTnMqSVgKUbx1+05ZjlupbUp56luN3tXIrDS31I439X49HJgv/Yx5CZunL9pnIGn9quIRlnPDUCfStqB9OfTnzoNIO2BvdQt2RAdhX+QReOZvXZXukykxnIc2tvo64qqvrmrMaoWuZ6cwYfKgIAvjMzP4hbstE0BzSysf2KkNDxBYctBkqjtO3qzzrt8DTOZHoPqeE3ze2YUaN3keVeXAZ/OzTMROpOjwdHZS2W2oP1taYK9dyolL+Ts/CvIw9NFNTFIqE9CyRgCbgh8wIdTQLs9rS/l1j3vdwztOq8sXnNlkD7+iPexpTHM0hWQzETZSJxDS8V/dBoVKpkLe1f/yPwFPhw1MVi1M6w1mlXeFcl7cgEOfo8DX0dBOhKX3O3swMzQO0aOYrnvjQvGehx3qm1uYmI4oP4fEWsHblHKFEqmZcVQg2URlRKgTwdw0mMlN0tC50zMz8A4OR1Z+kShuciUP1ZCCy0wwujr68r5mRruYyK2mobeugMefDhbCcoukdeuw4D1JhLPfTw/yOgLf/waJW++i8LofGvzS0V/UgPmJacM0iZcuwOufn6E0UIfmnGT01VciIDeV9RdEOXG+ZBIebK5j3CuTIhizyto6jM/0MCbk3coy01P4vv0tbNU9MOhX3nQklrBd2fceI/rKYYSe2gb/A/82EJBqLxSSTPRnlxF+wx2fuDzA+0638HRayAUcUvYNUhvuy6YJKz+OxNqVvUOLbwexLfMDPfySw36dLa97NS8cEIFKz0m1azx7yxb4JTIuDfmVqE0M4/XoB3vxbHEBroGCXl1lMev3DHwE8vZeWJpl/BJKXXmsz88PQklkiwvTdw6C9pLI2brEaNZfEemLPN1jvvf8/ZdM+hLh/EWYLybSvRGSt4d/v2geKpQLmvCNPnRSVGv26lOwA8GpJ9leh6Ics3KvusMaZ/XreNa+apy1+TQENAQ0BDQE3l4EtLP27d17beWvFwKerudBBK34/cn52lfQQiC/XnuoWfv2ImCNs1YjbSXPzyv5kv90Ai2FNbhuW4D3pHltzxXgiHsNMruE8IQSs9Z0O1PhBL81edluQXyFqbeJ+qRqhJxam9poNTm1NtGbU8gbG6Fw8mGiT+ptOxCNiAphPjkJuJzDViqrJBxVzFTq4LqENFXWWQXrXfa2ZRJRJQSw1KtYQTTKyFbRJpaxxUNbuS6hWyBfpV7I1K5qu4R0lZO9AvZGklRlL5bXYpRZnleKqWItZIcwj9xuts0CBsZxEk9aFd3KkMkmdQEgq/9rDdKWjLK1d8TW7buY0KU6Ea61dULIVzXyVRxz/tJllhXrFGaZQh6LOqifbBSLGgFsaW5x3Jt8XQ8H5is5Y1bYxLW+STZZfBAjcT+GR74LfKoSEJV9RUbalnVlMykR/egSe/atMP2au4emp3A+YT8eZxo97cwpofy35A17KTMRBW2e7DFpTvZ5248lR/Mc/whw52t+d8eKquaXphkjZW5QItb8fnoAf7lzh3XFt9Rjcn4Oued1TBaVPbQcWpZCJpNX7mSueW/Ohd4mlpkY6eE5KLyqtNQ3tbBHpbSN7p3LCuCQtRnJxcbwxdQ+31WHXzvdwt7oQOUQk/r8orDuonbBC5YEyMs1bb+dQZZyhhIxRp6QVPbHBcIt+Ev+YtqeZAyRm1J/F2FxR7m9q0LwYJwZHGfClog5KlNF0SBPW8otSs/Bnbx0zC8swCsoDBEFNjJvzeawHJ63xt3oHR5RcRrRVRdZl/Kf7IJi1kPkrblCYZND0px5r0POXWIbbvk+wNMpo5equbHKdu9oDx6fXCp4IUdWnjUJUzzR1r+qHL1EkBPGrdECbjSX+LvyOMqTcyWL8xN5SiGSyZM8MCKGPRCCSw8jrUEgaQ8GOLJdje3mQ5WH/uE0wv96gT13ySs6y9mGiXYiICkXcUteKrorizDUUo+J/m7M6YX/91IoZa+L9jjpq+M56qpzMbMwzniSx6+00O83EewrFQrBnX7YkXP35kU5sd7LaUJY45XGUj+R4UFfHOO5fO/egad/CJaePsXsxBg/i7QmKoPlKfgvuxusn0Mj54VzO4XKJjsrW3KYtNX96QSaQ00JUgrXHfzbEwj701mMtrTD/+BnTHizEgCZjrd4Ps/ffoUbXgE8T1drJVqSb7P+wnZvFi320LFcXYjllz7GZrp5nFe08JyW9veIU6le13purCSvOslyozXO6tfxrLWEidanIaAhoCGgIfDmI7DS2bnWfkuIvSlnrXKNIkbiVexX1qmd2tTaxTHaVUPgP4UAhTp2ergXFPqYyFotBPJ/aie0ed9EBJSf+y9at4SRNc5ajbSVILwevuRLzHnu257Um6skbrcgKrUfS6ueSYXYk5B0RCQZCT6lUktjleGFBVklKSlqFAhAY4jjw9HG+P3yPgkBuDxY3r+sQ0JskphMRq1PQuLKbVqeb5nsNOYvVa5PSkyTDaZ2GsITq/YJs8rspPyoZu0SsVLOs4yzSf5hcVVKO2kdNEaiR41YpeFMZIvzKte4PK+JvYp9N6NbWLcUaxV8JUuwxq21SFuyhchT47PxPtx1ngZCVpp7luSoiASsOIZkqG+tpO1Kc/Nkb/A/6+HAfB3PmMmSQwbS1qsqEbFZ52WkbW0PkRIbkRRrw8QQeadZu3gVHsbpuD1wspCDkuYUc0lSeN+6/iQmJUQPNGvatD06iEmT06krh2elecUcnPo5OTYld0Pg+d0dqK1uYu9gInvoh7zoztk44c57e5F/WSBjzNm/0NfCpOx0pXqI5umSeOgz/JDU2si6C3rMh1yWzkEYnonfA4+sXdJmtBYnsB6vqhJZu1qlti+B92BiVgijXO+bxs/IeIs8rHLq3sccEpbyiOb3dOBg+AF47/4QefePgTyKqfgX70G06zH47PkYi/NCyN28i16c63NubBILA+2Mw2xTMTwrS9jG5lEhb216Tj684x+yLZNzyykqAORd8mL8e/NqDc/L0KSQP1a6HgqHTOGCi8orpc0m96WV1fAKCYIufxN017fib4/v40OXO5jvMP4fxWSQSgOtmfLhvu90B+N6PSj8LRF/PeOW51dRZWii/Kw5Z+Ve1n/weYLP/YXcyeQVSqU4wAXeuz9Cc2Mjk4ydPb3Ib9PBu+BrpKcHM643Uszniq71TOY9rg6K4j8ykGfvaktfXh10Dz3gHRbF8zhG6dA2nMdrH56S58vuHC1dxsR8Xuee7Gq2pTu5gJ+NP7k/wk8cbNDQvvKLFqLN7DV8fAvP5RF7GOFBUWIXUh9dRujJbZy3dmliCIc977HdX7rZgF6WoFLSGQBd3kZMz04ynkFnHRD3pdxDmLzEKbR1yP+ewszAGCjssu++f4HyNueXlGF8YgJPFxeRdPccvHd+COc/b+N56MUKemEjJeckP3OU4zf00G54b/lENfS3wXAARc0RvKaL/rfwXVvBA13a/5+8t8ZZ/Tqetf9JzLW5NQQ0BDQENATeLgS0s/bt2m9tta8HAloI5NdjnzQrNQRWi4A1zlqNtJWg/SZ9yR+vj0XU8U/5j2ZiKAXZ9fhNZNdPrYGwlQD1mt4S2WdKKgtE4cNlb93XdGnr1mwmWBXE97o1VjPsjUZgPRyY6+GMWeubZPqSI0zakrftXEcgEjNPyUjbup4SDvubUnKfCRI1L7IXfbC8Cr7GzfTLTFQ0jhhJN6ne0dkZJj6/SRJIld6JGiYl1Eg46bjnuZ9dXMSe2FBMLOeGXUlHfM11RFUKIYBFWSJqvN/dg+xTbtxE3qExTXU4mxbHIZdFAvdHN65i1+1HSGlrAs2rVmYbBFJqvl1OYD1bnBeIzMZCXMpI5Py5auPNtR2POccYzk4YvfC8I114H0RC1NxYag+vOAXKwyqWoN8cQ8YReUhi6htv7uFnp8pZ8Kb8LPghvM5+jNCzX2KmNhtiDtOQ89uQfE/AUd/ei6TPTqAnSIeJJFdeJ3kdP52dwsdBOvwz0Jijs6unD7pQd15Lx4g8vDHlXvX77QFQqNjsZlPbyL7kzBxQ6GPy2rVUiOCk/MDhOefgEbcR10PDGKvBYrmXqCUd1DffXY/v2t3EPm8htHJw6RHQM/QiJf2gPSiXsLR8m5XM9vXFOmKuXSCExRDJjRnxCAiP5rWLoZm/8r2A/3Z9gGkzOCxMzsD/F4cRv/E2e9b67f8Ui6v8HRHtIvxi3ELxB4/H+NzNBnktbvApNOYwFuUWl8MOF3f4iU0m1+yTriCyerYuFw/8HvJaL3t7oaLGvJewiRIAnsFb+dkh4jy/zOip3l6Uxf/Hpty8VLKTfHgOj2A74KnwOiTtW3TVBe4PjopDtH8UP+v6DuEFjtkRPXvXkgf6VN8I6pIjWWdNfAha2jv5eQqLTcDi0hK/rBBz5QgTt1vOHMff/FyxONKD/oTH8M7fipjSi9wXvueQ2jJkbX6ZF+GTswN/cr6NP5+/LOtTq6z13FhJXm0Osc0aZ/XreNaK69euGgIaAhoCGgJvJwIrnZ1r7beE4pty1irXqMRI7Fdrpza1dnGMdtUQeFUIaCGQXxXS2jwaAkKUBSkOynNgrXWpLuW9Nc5ajbSVoLoevuRLzHnx26cL6KlNQoabLaIu7kLgxauIcQtCYW0/ZlaVw/bFTVg/GpZD+yq9O6WhjdePsW+QJea8at+gJWpLeS0QWA8H5ut4xuhLjhpI29k2L6RmHpOTtt1FHFI2ofYGfH+yH7nndFZ9HqbnR5kwKe2Kxc/cHuGv/q6q+insLxGdTcukrkj0NS/nJ1Ud9Aoap+dH2BPZJLzrVV8mbya7BW9QpSkd42Pwqy7DpidO+J7NNV4brW9LpD/KVEKZThXHMHG5ONJrUEXkHxGZS5Mj+MDbEduiVg5pbBhMIZILgxj7yiph3LOFWezX3cXPnO9JxVTvB/VNPLZlKJv767xTeL1KL1txMJHXFCqaQkb7VpfBzuYL9rYdjXFAa18GPJKFkMlVwc6YLo03kLS0vqniWPZmpdy+RCYTTh4VcnI2IDwKurzNKOmUY8Ahlu/uhC5zE6YmTfeib2CQibOa+kbRVLPX2dk5gWQLtOG1ZzZnsS1hYQ5mx6h1xKUE8jjvzAyI3srDU61qoqtuE72ciRgUS3p7C88TE++FqUKjB2nw8S1MjpdX1/J6xopj4ZG7EXsiDiGqsVYcbnItsQnmPR6ubkXgkS85LLKJkIUG/eSUgN9pB1xLEbxtQ0uOIrlOPX9yXM23iKw4o6qRcv76/Hgfir71RnWMEBb5VGosQqPjkZlXqDpGrZE8s4ms1d3YD4+crUiqfmgQW1pY4DDGlHOWCoUO/98nt9Fbkc71Z3gGr4KtHKqdGjJyCxAcGcshvSkUNBG2lM+Z8thSPtvJwT4Q0R177RtMTEzAJzgcRPQSkS3mUp6fnkLYiZ3w3PkRfnv7DD/v9Py3ZTyGt89XTPgWeFr+DO7q6YVH9nbEZgv5bLd/dZxzQrPR6+Afa5zVr+NZuw6g10zQENAQ0BDQEHhLENDO2rdko7VlrlsEtBDI63ZrNMM0BKyGgDXOWo20lWyH9iVfAsYbebtMIIrhgPkqCfX7Rq55PSxKjrupt/N6sFGz4U1HYD0cmOvhjFnrm2P60mNG0rbFDRkZh2SkbX13AXso+hbtQuKuewj/yzmrPkr9+nomTXrHq5Hc1sQk0738TNkcUwvzeOfJPeyIFnKbip3koavMIyv2mbsSSWbNUtUTzfbPLhjz1RNRSzlGVwp9LNrREpGLm7/ehxMX7jP5+p6HHfTLIYJFGfKq1Wf6YSJFByIvqUwVxXC+0t7JCcZNSWSKY81dOycEwsojVfBuXRzswM8db+FIjBxntfE5Lc7wLdqJpacLoLDHAe8dRdZxZzVRbqOcnoRJ8Z1gzCwu4LD9QSagyv0uIi/3Mrx1X3C9K9AG48meKD9/Fc1eoXi2JPc+tslL57WOzEzL5iosq4Au4xDia+ShYCmkLJNyR7Yg44gQkl46MCI+CUGRsXj6dHVvupGs/30n1kleoO842eCk1z0sTQxK1Zq9X9KP4Lj3A7xrfwvd/d0cFjqtwUgUmh24QgeR5YSv1BOecCaC+3yUD5Pg9AxRKQ504xDJEyPDqI7SoTnaARcS9sA+Wx4qWzolkcGkP+uEKzrL8nmveqqKpSIr3nd2C57Kuj8cR05LM77n+C3jSL9DaqWiO9zkd0uUa43KZ3tGclLwqesd/LfrQ/aMJ6/pyITVh2yu7YsXno8zN+GZcI3vpSG2873smLglApeexdwoJ1CoZCojU+0sTyGeqVTXCyGnM864grzOI/95CQHvHQHlJqbPZSJribQd7+tGeFwSe3dTDmUKu03EbVNrO+uZ1Y/Df/9XcN3zCa7Y2fFLGfTyQsyFXfA+9BF8C3fBUoSB0PhQtisg7jzv/7Xf7geFCLdU1npurCRvaS5rnNXWOmvLyiqxb98J/qF7c8XV1Qf0Iy0rYaDsl47V7jUENAQ0BDQE3j4ElOfCi9YtIbiezlpLdq61T4mZOF6tndrU2sUx2lVD4GUgoIVAfhmoajo1BFaPgPJz/0Xrlma2xlmrkbYShK31JV+iUrvVENAQ0BDQEFgHCKyHA/N1PGMmy04YSNuZJgdkp++VkbaVhZdAhCoRX2l+tkyUUI5Ra5WmwQzWLeaDpfDHRDSV9xs9Sh1L8ritpK9bNm1k5VmshfAS8+CaI4lkyldZiag4jaS62zJpIra839mzJu+2jqRSxtZrtw2+Y38bBxLCZTqp8nRqDBNJbpznkohbInLmmkvgV1PG+DQt53g1GWih4V7abtxL3o1nc9OoLUtjPcF15skLUrWwNMN7VtDmyZpr3BLYdjEkrLnpCq/7sdx0/xhupMQw8Rfusg/RWfsQeP1LhB7bhCX9MFL32SHgl0dU83YSob0zJthkipGxcXgkXYB3vjzULnlrhpQdRb1PKs9d7WIMZdzaIYSnbVlDDtTktCzo7DwRknwUFNZ4b0ww3ne6hbnWMhOblA2Un7gixgk/cbiFL9ztUdYVwjiKOYGV8mutk0cnPXvSsjHCDx942vOzQvNTGWptYOxr/B5x+5fuj7Eh4DjbMjmnTj5nnXBh/Ii8zXC8ieBjm/FslUS3aE9lbT2Tk7of7kJXWgU+8j3Lc5ojIIcmW7ifcv4qS/LOBwj9w2l4hDryM5vQ0sAilJfYKyhMKW62Hld9FVGV5xAUEIH4jCT2nM1vNeYGFsNJtxUIYZPnO2sMuur6Etm+qTnBg7t/cIjXV5FayFj5//dhDg1OAyqjAxhzCkudU1jCct19/ayLvkjGpaTDOzic89tS4/ToEFz2bsCTvf9CV34pppuK4bf3EyRc3IvQsmM8b9doqcEW8Yaf6ej73H8l4Aa+53CHbaFcxOulWOOstsZZOzs7Czs7V7S1dWBsbBx379rzVYlTbGwSy/n6mn7uKGW1uoaAhoCGgIaAhsB6QGC9nLXrAQvNBg2BV4GAFgL5VaCszaEhsL4QsMZZq5G2kj21xpd8iTrtVkNAQ0BDQENgnSCwHg7M9XDGrPVNssnyUwbSdrr+IfLSdspJ2wLBsza49DAi884xAdCZUm61XSdPWSKExUIepr9wt2WP07llL8ufuj7Ev4IFglCUo2tGkx2INF1NoTDM3oXbeS6ar224YDXDLMo0DqSxPtHTjoTHmoT8reRRutbSm1sLn3f34tCm00xEhdVXm6ggb1gia/Xpgvfk05kJ7I8PY8xMhFfR4FpwG845m9DfUg63aB3P2z+ltziyYSCV1z02043F6TkmWHPOGHPMmhtM4WJpfTlnPdA5MYYnRz+F1+V/wSP3K/ju/xfIq3Gosk0gmXSmJFN2ZxvbR7mB1UpQqgPbRXtNpX2kkOvdY8LzSoQmeYv25gjEW0h0HKLW4JVJOjMjUplwKyjxYd160tn2AAAgAElEQVQ+lUlsU312qJpJhrbZuhzkRtjhXYfb+IH9bfimxcK74GvktshJVsOA57ghT+egXx+TjXxSms/2NSTpMF2ZaugLPbYRcee2IT47jvvPxvvxetQ80Yer2xk3Co9M4Xt9936C4gAhH69B4SpusguKEBQZw3lxicC/nnSWn72lSWG/1FSQh39Ws9xDenZYz/YUefjgHfub2BVh9IAkb1XyWp2cmlJTJ2ubW9Tzmks7QnlMVV09hzqmz4fZBePvQPjZXUh5cFE2liqZTfYIKN5vaKe8tDR3WVUtoj68jNG6Tu4b626Dz55PkHT3nCGPbUmFPD/1zOws5xgOj03k/LY0MDg5AS57P4Fux6co9fVm0rfJ8xpG8gMQXXmebW8cEEI1k/zw6Bjr8M+8Ar+87fiT611sjvBH4K++Qd4F089Pg+F4/XL/WOOsJbKWSFsib6mQJ63S21aUqatrhJK0XetZOzc3D+1Hw0B7BrRnQHsG3q5n4G0/a6Xrt8a98uwVdaq1U5tauzhGu2oIvCgCWgjkF0VQG68hYH0ElJ/7L1q3ZOF6+Bs0kb7/jyUjX6c+a3zJf53Wq9mqIaAhoCHwtiCwHg7M1/GMmSw/YyBt9QU7UJT2tYy0rcoXSNHyLiHkpu5X21B8Z+XwuSs9d9MDYyyS3vgIIWXfyMRzu9qZSLqSlQRdZTHfp7Q1yWSoQp6KXgVbTNrVGlLq7zHJQUQjeV8SMdM/oU7+qY1XthFZ4pG3Eflt8vyS5CVKuX/nxlcmjZQ6qU5hbims6v+cvoDvPbqJzgFTz0fyriXidjI3BM8AvOt8H8eT1UPMqs0hbSvtFohnjwRbbPe4h9+4PpB2q94TUR5TdYn7qp7EMoFmLnevUkH54wiWH2/uxd0bh+G97yPoQj9nQorC7iZssTEhHkUdR5Mi8X2nu1g04+FZVJvN+1rblYmlp4sIKj0EysUsloG+QQSec4DXPTcm14hg6+0fELtXdU2948tj27qFnL7pTd78fLoE2qqOfzY/y/lkk8Js8T2H2/il+2M88vVHQoUte3XOLIyrjnuexqbgLMaWwvGKpWaon+3zSArCRIrgQTpTnYE8myOM+d89bPEDhzsIT05FePlJJNbKw0uTnoRNd5hoXZicQVNWIo8b7RS8dsV5VnONSkxBYnoWMo44IeJvF+BZcBTnE3ajoiLL7HD6fPAv3ivrF0Mj7/B8iB863MLQtPF3bXB4hPenq7dPNkatIr58UNVcxPllR8fGQaGRdXkbUdIRYBhSFRPIa54ZN+YLpk56kUXp6U+hmZMysrE4K4SiJrmoSwcQcPgLDPZ08jyxKUai1TAJADG/spiTl15a+Z3NBeh2fczze2/7CJNN9ZhIdsd4lh/iq4TPMfocpLE+IREIi01ESOk3iM06wvtuV5yLxK13EfeF6b5K536V99Y4q61x1hIhKyViyaNWStpKvW+Vss+Dl0bUvF1Ejbbf2n5rz4D2DNAz8J8q6+Ws/U+tX5tXQ+BlIqCFQH6Z6Gq6NQReHwSscdZqnraS/bbGl3yJOu1WQ0BDQENAQ2CdILAeDsz1cMas9U2yyYqzBtJ2JO7HKE3dKCdt847zDk/NDzMhFvTwMGI/NxJhz7P9I3WdhnyvUZXnkVR3x0TNmTTBA/DHLvfxR1/1XKmtw3lskzQHpYkiAB0jRSxH5AYVCu8bXnEKvoU7MT7TozbEYlvzYBbrU3pJil6iFXaRFsevpjPxhg++e/cafnfpKgZKTAnr6bIEzLWWo2Kgl8mZ6EbLOSvNzUmkIRHYJ8NO4kcON3EmzjIhL+bxpLDWC1Oz8P/5IeRd9DKn3qSdx/ziMFL32SI2JojJKK9Ln/C1K7OcSceGACEUrXTw9MI8vut4B2fTjOGNpf10Pzs3B4/cTYgpskd5dxivq7KxGOk5+fALi2QyzzMwFJ63XRB4whajQ+Y9PJW6xXrYX8+xHgr1G111gT29f+P+GNs97mJxRP4sUe5Tfbo3QoIf8x79I8AdyQWF8Az1ZtuKO/xFtVa5irmUG/zkpODP3R5hd7g3E/1ThZF87cuOYsz/feUIbNOSeU3ZjTq2a/HpnMGerlRhT8Twuol3zjAJaRBYww2FLS4oKUdjUCZ07whe7xuDv8GjCDezWoSXI77C2HSXQSbsT2dhd+UeY+qbJ/fIXlxc5LVU1wnhkg2DVG7oc4dCDfuHRfEzIopkNTnAp3A7f05Q29TIIGNVm2gMuyz+3tT0yp9HCn3sGxohqkJpiAePbclPk+WxNQgobsqra9n+5jYhvy29jPH3W+dYR+Dmr1l6aXIEE2lemEj1RGbdI94zXfJ5RCelYnxK+JwOiD/L+JT294C8mv1+elAxk7y61nNjJXm5dnnNGme1Nc5a0YvWnKetNN+tmPdWmtd2JQyU/XIUtJqGgIaAhoCGwNuGgPJceNG6JfzWy1lrycbn6RMxE6+iDmWd2qlNrV0co101BNaKgDQEstf+j+B87StEhT1ZqxpNXkNAQ+AlIqD83H/RuiVTrXHWaqStBGFrfMmXqNNuNQQ0BDQENATWCQLr4cB8Hc+YyYrzMtK2IuVzGWlbnXvUsMOUu9U7YxsTa0tzC4b2td5QmFXvd/dgfmKaiVOltyrpI5LufZ09Ew9qYYJJRiQQu8cqzJqwsDTLIUzDyk/IZGYWxhBUcoi95dS8Hc3l7aX8mkRyZjY5yPRRJX7jbVAey8UZI+llIrSGBq/IBF7/ji+Po/S+PPzus6VFPJ2bBnnSUQ7g0dmZNWiWi7rl7sbxmH2sRxdinnAmAo1ILp/CHVh6Oo9y20h+FqZ65R6Icu2mtRqPRB7XmVXMZJT3rg/hfGEfvjh7DR+evoItkQH4PNRH9vM3fze2r7jXSN6Zagb8cr+BR8Z+eORuhkfCZSbA/MOjkFtUgvaubhCpR2GoKUxy+kF7NRVm2ygXL40L9A9DanYuKDcyPQtXMwLwQ/ubmG0sNIyd725gctRtOecqhamlZzowIgZBeVf4uZ9fNHqIGga+4E3Qb44h/ZD82aQ80T98co/zIZOH9mxDPvqnJmF74N+4f3oH5ucXGKe04iheT6ckV2r4X84h9PeCt/3U8ADvV3Wc8PLDWkylcMXk2dzQ3IrJriHoPv2a59oYeAOfut7Bs0V1b5Tp+RGWq+mN5em60ivw6Ke78XPHO9jgfk/VBMI4u6BYtU9spM8F2ruYYju2Sz9p3Avyxqe+yh7j7wKFNiaPWbG0L78IoszH29DSatA32FTLeGU63Tbmse01ekGLupRX8kYW89tmLYcEf7jzGLJuGL25n85OYTI7CGOJrghMusj2JtXZoGVI8Da/GnwD33eyYdX0EgQ9t/T8rodijbPaGmftanPaEmbW8LRdD9hrNmgIaAhoCGgIvB0IrJez9u1AW1vlm4yAWghkp4f7QO1a0RDQEHi7EbDGWauRtpJnyBpf8iXqtFsNAQ0BDQENgXWCwHo4MNfDGbPWN8mmKi/KSFvytqUfz/wnTN5WZxtzNlIeWCIzdBu+xkBx43PvfPAHJ5lEKHcPZ321ffGquvJ7OvCeh51qHzWSRyDZY248yeS1urPMgN7U847IGfK2jaw4w7rEiUYbutm+/MveoPyZYmkbzmddaQ2mIYRFIrDGPVEUt8r1cHQok5U3f70P0Z9cxUS7PJwvkZt/D1g5n6wlY+Kq7+Nx5haex+FHu5Cy+xGm+wQvVMKYvAkpdydhHVl5FpQjdl4/zWGg868Y84lamkPZF/Tb44j78ia8jnzFxNaOS4fxoxtX8Vunh/gw0ANfhPlie3QQDiaE41RqLChUtm1RjlKNST2pypbt1OVuR0llGYZG1L1pq13ieY8pvPNqS1NINo9JS8li8nVito/nCq1yZ+xyk31Z1UxtNhO298JcuJ1IUyoDg0PwSBQIturemNVOuyY5yhfs/4vDsjHhDdVsR05mKMg2KgcSwrH73B547/4I81OTTHKSh6h3wTZDnt0G/3Reb0diCY+pjA5g+emxYZn+1VQoXDGRtoQBFd/be6DL2YRb6bFs21i3+c8TeuGCXhihErHjHn5z5zq+a3cTzbXqeamJ9IxNTmN5c/+IXvq6MBcUlpq+9JFcfxd+RXv45QTS0ZyTzM/pSEczqyxq9+W9V+ofGRvndbY0tyDs9A4EHduEhvp6blPmsVWOFevkMU7Es5jflnJ6748Iwniz3JO7qqoKzdFu/KxVNwg5lul31Ct3M/7s/hBbIgVPbvLUl+ZyFueRXtd6bqwkL9WtvLfGWW2ts1bqTSuGRqYwyXfv2hty3ZL9aqTtShgo+5U4aHUNAQ0BDQENgbcLAeW58KJ1S+itp7PWkp1r7VNiJo5Xa6c2tXZxjHbVELCEgFoIZA/ns5aGaH0aAhoC6wAB5ef+i9YtLckaZ61G2koQttaXfIlK7VZDQENAQ0BDYB0gsB4OzNfxjJmquqxK2nrnOwqkbdZu2e76FuyCh+1mrIXskioYqmhlAoHCdQZsPMzER9dYmVREdt8+rk66iULkLUvErFoZ1At5R3NbzYdfpby2RHQkS0I0Uw5IIjnox+fdvSh7GI7mHsGDTSonnZMI1cD3v8GLeCBL9Yn3k/Nz+JXODr+yvw+X7+9gm+p9BUKKPDfJy/Z2rmWCStRl7pqXKYTF/cj9JoetpnV7vbcbiZG34Fu0i/GJr7kOqUdz6YMwtmVm8PlysjaH5vD4pBsXmAwL/egEwv963pyJq24Xw+k2D2auOCb3vI5tqNUlrShLAlnHnTnfbn1zC5Nw0zMzHB45ouIc78Md3weYzAtlEu1cmAe33ZTsTVjBDcayoM17VfM9j1BLRB6vabTe6JE8PDPNttzPFtaZ1y3kjL4R4cvYN2bEM7lNpGpU2Q0Elhzk0NcB7x1B7L+vG8yIOL8Hyfeeb4+q6xsYMzG/W0DcAXh5fY2i3i62LTxN7klumBRAQZsnvAq+Rn9jJ3537SrLJ8S6g7zN1QqFYKb8rpYK5cr1ztsN35AIzM2bevkO6Bt5r+r7BcwW52bht38DigNcWG1s9WXEVl9RnYK8ZGMeXRewLcjiPLZxZvLYqioA0D84xHjlFBbjcmYShwafXjBGN8gvKTMQwdMVKfzMNdYFsM1RmQcZI4eSPFY/r59Z03NuziZrtVvjrH4dz1pr4afp0RDQENAQ0BDQEFgJAe2sXQkhrV9DQB0BV4dv4HZuA/8/XgyBTASuVjQENAQ0BJQIWOOs1UhbCaral3wJGNqthoCGgIbAG4TAejgw18MZs9Y3yaaqrqiStj55dkza1mTukD0lBW1e8Mj9CokHhNCbss5VVAqv+3No5O6MKui2bmWS4XnyyopTJdTeABGKyvLs2RKH8g0o3ofFpVllt6zexrlxNyKr2QndGZVMcFQ6RINy71LIY93nX8Mj+yuEpH6DhTnTMMTt8cU8RiRTZcqtUCns6WQS5nhECML+eIbnSt7xAAnVVdye09X2QrOk37HjfbiTfA8UjjarwgkemRt5n33cd/7/7L35exzHee97/5b7W+5JHMeJ5WMpOlnOiU+c5ORKSszEN/IiWzu1UNQuU7JkiZK1UBYtiqIoUeIC7iS4gfu+glhIgiC4iwRIgCRWYiF2EHzv81ZP9VRX1/R0z9QAPT3ffh6gu2uvT70z7/R8p6ro2xPeGa68dPTSv5gq9srMp+J1P55Bq3/yJK169kHRp6atNfkUJ/Lyktk8czrMcWf8jlgimUVqFpGzHcvveoYOvvQVdXbdFIIZL7d84uoawe6nq+fSA199KMSzp9YtFuOyqN5Zonf8zm3afe5jkW79kU+zVZNX/FBnr2Cpz/jm5aUfWL1IlP2/yr6gv1owm/pHR2j9bx5zhdgNW3fS6t2fi3Yenv+NKKf9hDOztLPxgvjy4tKR3Tm1j5cr5r1j+bg9PkqLKn9OC1/5JfV8e53+fN6HNK1sdsZyeblm/mHFY4t+K7iWb15Ed0YzL0F+7mJaVDcVOn5njBYffUjMeg7a+5b321517Gni9xI+jnwzm1Y99yD1tbXQ4vX/Rbs3vUs8+/jIwj/Szo9fFyx5qW/5V7l4Tqh9bE1t5LD6M2eFnW2trxP95hnT4+PjtPdwpQjnHw/Ig5e85qWvLx+aSyu3OT8iOHajRUaLH5TwLOxMR1S/kS19pno43IavLkZfG8QEcSAAAiAAAsknkM13Ro0PIpYUX6v3UWck403hHGYKl3lwBgFJgJc6njfrEVo8/QHxOZ7PWAJZ0sEZBIqLgP6+n+99UO9t+FqItgrhODzkK83BJQiAAAiAgCUCcXCYxehj+hveMYq2yys/dWba7vu5Z4Tkfo9lL3vFXE+igBvec3P/c1+IFCs/fFaIMQHJs0YdvbxQCCt6wrqWdaLsK13hhEBerpaFoZXvPkNr/u4ld8asFIzK1j5Ci/78YRHHsxnVg/f9XPu/XlGDrF+/d3iPEG52XjhLvCQxC42PzfyDmIGXb2U8JgsP/pyWVD0hGDCHQ99+QWd27CS5lDXPSuU9iPmo/XANlf35E56lo3Npw9Vdx2nR9x6isvv/P9p431u5FGHM09l/2RieKXDXo7Md0Xhb5n1Quy84S2Z/u/6IKIZnUx472UA3B64KZvOqPhfj8+CaReJccfGsSDc2PkI7zvxepFm05X262uJd4jZTm/IJZzF89xNecfj9I3tFuz6s3CfOq884SwKfWLdEfDkx3NdLFy830qI1zrK/i1/6Ne2bNs9tRs3y+bT8qZ/Q6JBjA25EyIvNO/fQ9r3O7OcbvWccHvf9is4t3UNT15fR9z9/n273mZdd5h9dsE0+um4afRWwXLpsyo22diFqXm/1LiUu45tTIvDKbZlFTE4r033b4SwpfeNMnSvISmGWz+Wv/Jq2f/AKHZz/IR1fu4i2L/qCyubOpoMpcbUlxD62sm36eef+Q2Km7j8u+1KM298t+JTeLiujxivpmdQyz8jV00K4fX31fHc/Wxm389d/8MyaluGTcbbhq4vR104Ga9QJAiAAAiBQmgTga0tz3NHraAQ2rZtP82c6W/XwZ3qeYYslkKMxRGoQKGUCNnwtRFvFgvCQr8DAJQiAAAgkiEAcHGYcfEzUX5L1N7xrFG1XHvlEiLZndt1PXdt/QEPKkq5rDzxPC9f9jLovRhOgWmvOC3Hsys7jwvI2736LFlb8jDrqc58pevbGDiHoqLNpewavizCe3Rjl2LbdWb62erezTyvv3cpi0ab6GTRye4Aat1RT+Y9eFX3Y+K+/peZ9J8UMTRZQL21wxLwo9UVN+4/LvqK//OoT6hjop8o3FtMP3nmbfrne2bcyalkyPc8m5vav2/OyWIK2uqmMBka8S1KfnFshZkfzcrmnF+4Qgi0LtzaOzT95hxb/919Q817/vqI2yg9Txu2hUbG/LnNoOXDKmOXMol2C00Brt4jnPVOlCLn2+HRafeINIar92ReziPdi5mP09pBYQpdtaFv1YrEU7+3bzqxNYyWWAivfXCL2G1aLk0si83LacsYtx9+8elkIkbxEMrdteflGWrLnKfG67Lva7haxevrP6NBXs9z7qBe8XDEv6cvHiea1zutqylu0Z+pntOb0CcHuxIn9xmKnrVlAb+14jL7c+TD1XTELsWpG3hOWl3o+e8GZJazG8fX2+k9o4eFf0eUrV/Uo3/36upeJ/+RxZucGOrTjj7Ro40+pqy0901XG85kFVa6f/8LuY6vmV695OenVG7eIGbsvrVpOfzr3A8Hq0c1r6OJNv8g92t5E/7R4rrufrSyLVzhY9ldPy1vfOarfyJbeV4ESYMNXF6OvVRDgEgRAAARAoAQJZPOdUeODECbF1+p91BnJeFM4h5nCZR6cS5cAlkAu3bFHz5NPQH/fz/c+iJgNXwvRViEch4d8pTm4BAEQAAEQsEQgDg6zGH3MwOnfG0XbVUc+FqLtuZ3/R8Tf3PFDun3LESnqz24UokvtupWRRu/oW2VCTJL7vvK+kIsXP0QHnp8fqRw18bWeetGWzv608Lu14W1aWv2wT3xU8+nXvO/jih9OoxVLnxTlHbu6SpxZsBkeu+VJfn75Plr1188LEY+Fvg3/8oYnvlA3F7o6hGDz0KaVdPLAcXH94YrMe4GGaQcvA819uNp0zNdPNf9AW7cYJ05b9t0naPiml4maNsr1jaNniYXbyT5G+4do0wO/E31rO3bR15zdj/+ReAarPKqPn3T3Ta29slzYyo+Xf0pnOx1RkW2Gl9dlwfZSx2GxNPDBo+Fmfcs6cj3L5bp5/2j1+NMvPhI209B+Qw2mda8+QjtnOX07criaFm2eJdrd1FUl0jWfrBLCbktquWdP5hA3/QODQsDkZYv52H76XeLX6LGP1gghkX+EwGLyrHJnv1i3yPHb9Js1zgzTD8qmizYNjfa60UEXy9dtpMpa58cherpFh39FKw6Y96PV017qcPayvnrzmBu19/wfac3x59x7/aLvVr/ob9R9bPVy5H1bR6cob+X6Crra3k6fVB2k/zbPGctX92yhtoH0a5H3wGaWcj9bWcbFNQedHx3c8P4gQ8ZP5NmGry5GXzuRjFEXCIAACIBAaROAry3t8Ufv/QSwBLKfCUJAAATyI2DD10K0VcYAD/kKDFyCAAiAQIIIxMFhxsHHRP0l2cCZD4Qo21f1iEe8XXPkIyHaXtjxT9S55Xt0c9f/oNHWPcJiRm8Pij1P1654IZIFsSh68KUFbp4VtU/Spg1vOGJCmzOD0Y0MedE/3OkKY5zlQttecX+uNdrem7Ufrhbt6Dh7mVhMZrGt/MQLNDjaY2wJz86sn7eZln5vKsmZw8aElgO/OlElRJn/LC8T56WvzM2rhi3/8S5tuj+cgMUVtR//ls6vNM+IzLUht5o7cs1qNR/v1ctLXfOMxK4zzmxZWcGyv3xKLEst7y81XRVCWk9vH7Xfuijs5dT1XSJ6cLRbzM5kG7rSVUvXbrSKtM3XvGKpLMv2eairT9jyqflbPEX/etMqen3fNk8Y34glkh+/n0b6b9GR2WtEW5dWPk4bTr4q0h744gNa88Iv6M74uC9vmICWVP952WI+llT9io5fXU3Xj5xxXnMnL9P/WTKX7v/qQ7ozNiLS8J61v18zX9j4y0u+pkU//pXndZ6tXhZMt+3x22llgzMz/1STs1RztnI4fvXxZ6niVPqHGStrn6IDF4Nfd+Wbt9HAoH//6zD1mdLw0tUsBsujc3CA3ty/Q/D5k88/pFlH94s9inc3XhRhx1u9qyC0110SrDPNJI/qN7Kll+00nW346mL0tSYWCAMBEAABECgdAtl8Z9T4IHJJ8bV6HyUjeZbx+j2Hc5gpXObBuTQIYAnk0hhn9BIEJAH9fT/fe1mu6WzD10K0VcjG4SFfaQ4uQQAEQAAELBGIg8MsRh8zcOZDIdaOddV6RNvyw+8L0fbSzn9Mhf8ljQ+1uqO1Ztl0IdyqyxK7kYaL64dPC9GAlxTmg5eOZVHrxIU1Ivz4x7nPGGURiJdcZYF1afUjYklaQxMyBrFoyDNID//G2eOSZ0nyPqQDI10Z88gIWzNOZXlhzj9dt1QIM9/74we09C+mEgvIuRxS3Dsxe10u2ROZZ7C9h9b+z5fFrOvey47IykI128eVHenZlr23bglx89vGJsFh1bGnaefZD+nWcDutOT5NCJPXexpE3OHqY2LZ4YkEtvH/fZN2/Mq7PHj5uVPUPTTka4ZcIvnM9g20/PtP04r5y2n13jni9Xn5xhFa9uS/Uc3KL335wgacPn9BsBoaGqa2vguiXGbDM+6ZK8/2nnVgu7Dp9qbTND7UT5+XfyHuX9yyRixdzbPZl9U8Rge/Te+zG1T/kZpjtGL9Jk+S4ZERWrLrTVpc+ZAnPNuNXIL9eu9pkj8SOde6MzBb/0Bue/8GFmqIvNLTTc9sXy9Y8dLp/7xigW8/W842NjAsWJ/+eruhlIkNsuGri9HXTixl1AYCIAACIFDKBOBrS3n00XcmgCWQYQcgAAKFJmDD10K0VUYJD/kKDFyCAAiAQIIIxMFhxsHHRP0l2cDZWY5o233SI9quP/yeEG0bd/wD3dz1tzRyw5lFKE2malWZEF9OXdwsgwLPh1/7RiyNPD7m7OnZ1d8k8jd11dDBF7+kFT94lm6PjAWWkSly48nXaN+FOeKPheCeQe8ss0z5ZPjep+fS0u8+SSxiFsNx/VYv8d6pTy4vE0IML4eby/Ft+WGRX19GN5eykpSH93Ll/XtX/48XqP9GF9XN2UiL/uQRGun1CnG8BO/RWmef1qONi4Q98yxMXpq7re+8i4T3iT1cndsYuYVEvKieuZzKvvM43bkdbnbshtefoPUvPins4fCOg0JkXVHzJK1d8aRYGrnrinl/2DDNqqmrF8tDc9r6a87S6mPjzoza7b/4iLb97APimaG8rO+qLUto0bp54vrJilUk91zm2d37LnxKzDfMIYViFmrlUXW8jhYeeoR2n5ktg0Kdb4+P0PKaJ8QPOS53VopxVpdjD1VIgROd7milX2xYIbj9cqN5n+vVf/MCHXr1a2NLovqNbOmNlaQCbfjqYvS1QUwQBwIgAAIgkHwC2Xxn1PggYknxtXofdUYy3hTOYaZwmQfn5BHAEsjJG1P0CASiEtDf9/O9D6rfhq+FaKsQjsNDvtIcXIIACIAACFgiEAeHWYw+ZuDsx45o29PgEW03HHpHiLZXdvw9DTUu8Y1SZ0MTLVz3Myo/GG6J5OXff8adycqF8X6ZLLDeHLhKXaevCLEo12V3WbAtq35YlFfXHG3GblvtBVF3w1dbfX2Mc8CG86eJZ06uvPs52v/cFzk1dd+zn9PKe6bnlDfpmbovtNDyu56h8h+9Jva6rfh3/767O/YdpE07nGW4eRYm2zPPBu3sT+8l23z9hhBAeYngiTya99QJu26tSYvHQfXXrS8T4mzFf7xFbe0dos0Hz6ygJW/8G1K5k2sAACAASURBVK19NdrMVL2eVRs2055DR0TwjrPvU8Wp37pJeAlnnm07NjRC3/3iQ7r3i/eF8PiL9ctEGl5OXfygY2iULrTtE4y7B5rd/JkuWq47S1K3tjtLb4uZ0eu/EvkbO49mypYx/GTLepGXl04vq/pVxnSTHXGkuYk2XThjbMauRz6hzVNmGuMmMtCGry5GXzuRjFEXCIAACIBAaROAry3t8S+13mMJ5FIbcfQXBOJBwIavhWirjCUe8hUYuAQBEACBBBGIg8OMg4+J+kuywfOzhVh7u/ecR7TddOh3QrRt3v43NNS03GgpS15xhNLeoeC9Opv3nhTCDO9hKY/6FmfG3e1xZ2nfrf/1Pq3/59dldKQz74/JghnvQXvnjjOTN2wBmx74Ha39X6+ETR6rdENjY1T55hJnieTh6Esk896tPAMah5kAz0Dm5adZVDz20RpfouP1p2nxqnIaHx+nO3fGaV3dS9Q92OJJd/BoDfGMXP116UlUgJvRW4Oi3XWfbghV+qmyDUK0Pfr5fNHWsjXr6eCBvSJszTePhSrDlKi3r08IwGcuXKQ7dEf8uKL2Svr9pPNUo2jntYMN9OzGZUKwnbJ2CbFtD3b0iDi5dHr/iLN/dcP17LP7b/UPiHrPf+sI6LsPHqYlO9+hxUd/QTxzNuoxMtYvlrzm95mtp/0CftTyJiN9zfurxIoCprp1+8z33lSHDLPhq4vR18r+4wwCIAACIFCaBPL1rXr+IIpJ8bV6HzMxMIVzmClcLxP3xUsASyAX79ih5SBQKAL6+36+90HttOFrIdoqhOPwkK80B5cgAAIgAAKWCMTBYRajjxk8/6kj2vZd9Ii2mw+9KUTb69v/moavrjaO0rYn3hdiaXXTUmO8DBTLH/9wmrwV58OXvqSVtVPdMF7il8UxFm+iHpc6Dot2tPddjJT12/VHRJ1Xdh6PlC9OiW8cPSv60LQ9vd9qmPbdqMwtX5iyk5RG8lV/cCD7d7XluhAG2zudvY/lkr8ynsXcZWs3EO+vOhkHzw7mH0OEOdb/8xu09FdTaMes34jk2/ceoNWz36Olj99PC3f/F7V0O3tRhylLTcOi6aKVa+lmd4+Ygcyip14W76Nb+8FqWne2XuzJ2j/qiKosOPN7wkBrt1skC+M7z37g3gddcL3Vx0/SjbZ20YYVVc/S7nOzgrIExtU0LRPvM8eurgpMF9fIi2sOCp791zontYk2fHUx+tpJhY7KQQAEQAAESooAfG1JDXdJdda0BPKCudOJw3GAAAiAwEQSsOFrIdoqI4aHfAUGLkEABEAgQQTi4DDj4GOi/pJs8PwcR7TtvyzOg99+SX3Vj9PWg68L0bZ12w9puHmd0VJ4r8+Fc39Oy6sfN8Zz4O3hUVr6val09K0yT5ptp2fSlobfecJW/+2LtOvRTzxhYW54OdqjlxeGSeqmuT00KvYs3f7zD92wYr3IZYnkmvdWCgFntH+oWLs9Ye2+uusEsb3ox9DwsBADeRap6ZCi7vXWNlN0wcN4drBcejiospYDp0S6Pe++R2WP309Dvd108vRZKpv2IG378FVaXvM4bT71ZlARGeP2H6kSM405wenrW4ToOXp70JN+3zNzadN9b1H30CDdHErH8b7C+tLfvHfwkpDLE1fs2E28hPWGrTtp+aalom5eYjnXY2Dkpiij+WZx/siDZ46zPbTsP+VDENVvZEvvq0AJsOGri9HXKghwCQIgAAIgUIIEsvnOqPFBCJPia/U+6oxkvCmcw0zhMg/OxUVAXwL5qzf/k1aWhftxanH1FK0FARDIh4D+vp/vfVBbbPhaiLYK4Tg85CvNwSUIgAAIgIAlAnFwmMXoYwYvzBVi7fjAFXEealpGt2qfoW0HfyNE2/Ztd9FwyybjKF0/fJoW/fRXQsho7KwyppEzaG9UnfPErzr2DB381rsX66kvtwpRoefb65602W7Gbg/R6O1o4iMLzov+5BHq+fZatuJjH1/52yVU9t0njMJipsaX/8OrtOOh3GcdZiq31MLXbNpKB49WG7t9oLKaVq6vMMZNRKAUY/kcdGz72Qdi/96uxktiOeTz+7bQhRM14rqqYg3VtawTr/HrPdF/wb5i/Sbad9jZQ3b3uY9pU/0MX1POLdsrXvcjfQNu3Lflh0VY2zGvIM6CKc/WDdMWXpqaZ9vy355TC0W+4bFbbh25XBz6dj7lW0Yu9drIMzY4LJhO9v7dNnx1MfpaG2OIMkAABEAABEAgDAH42jCUkKYYCOhLIH/x/i+p8uDkPV8VAzO0EQRAYGII2PC1EG2VscJDvgIDlyAAAiCQIAJxcJhx8DFRf0k2eOFzR7QdvCbOw83r6dbx6bTjwCu07+Ju6tz6lzRyfavRUngW7eL/5xEqO/DrjEuW8iy6lfdMJ7pzxy2D97Fl4eVky3o3jC941ufS7z5JLEIW8hho66ay7zxOlW8sLmQ1E1b29cozQoxhgTzM0Xv5hkh/ZtGuMMmRJoDA3sOVVL55uy/F7du3ifeFPXrshC9uogJuj4zR4v/2KNV+aF7enNsh95SVe99ueP0J2jlrBlUvn09lT/wbHa2qJp4ZW1b1a9/M+Gz96OntFYLpuYuXRNJl1Y+SaSn13sZWYY+Nm9PiN8+85T/94B9o8HuHui+unkbe1585J+rnmbab6l+nbafflVE5n4dG+3LOG4eMa/72JTr08gJfU6L6jWzpfRUoATZ8dTH6WgUBLkEABEAABEqQQDbfGTU+CGFSfK3eR8lInmW8fs/hHGYKl3lwji8BFmXnzXqEljx9v/gR6eLpDxCWQI7veKFlIBAnAvr7fr73QX2z4Wsh2iqE4/CQrzQHlyAAAiAAApYIxMFhFrOPGR9qFaLtyI2ddKvuFee6dW8qbEfGUdr0wO9ozbznaWHlz2hwNL33JGdgEXbJnz5G1TOXe/J3DzQL4YX3otUPMWv0O4/TcE+/HmXt/tArX9Oyv3yKRnrTM/usFT4JBd25PU4rfvAs7X9uXqjaT3+9XYhkt5o7QqVHoswEGs6dF8LgyIh3+eQrzddEeFv75DLe8tP3qOLf3s7YgX3T5tGSP3vcfS3Ub1ohvhxZNf1BWv3uK7RxuyPsn7i6Rrxmb/SeyViWHsFiLc9y7enro5sDV0X+K13mHxas+buX6PBvnCXOW2vOC/u8tKFSL1Lcb214mzaefM0YpwZebXHG4FLzWVH3mRt+cV1NXwrXux75JNAeJoKBDV9dzL52IhijDhAAARAAgdImECdf293dQzNmvEtTp75Es2bNpaGhaKsj8UhyHs7LZXBZPT29pT3ACe09L3c8f+aD4lmk7LH7CEsgJ3Sg0S0QSAgBG74Woq1iDHjIV2DgEgRAAAQSRCAODjMOPibqL8mkCdwZ6XIE2mub6dbJ18X1aNuBlHi7RybznavfXU5l//CYEEV4GVX1YNGF91BsP/6tGkxXbx4T6TtuOTPw1EheGpnznJq/RQ22dt115ooon4XLJB1Rlkje/ouPaP0/+ZepTRKPierLjbZ2IUxeu9HqqXLfkaO0csPkL911YvY6sQz42MCwp318c6ulU8yUV/eb7mu77n5RcmjzetG34ZERsSRwWfXDtP3Me75yMgXwssiSwdkbO8RrPtPSwodf+4ZYuOVj79PO7Hz+MYLpqG/ZIMrKtCS7zNPb10fb9x4gFmt5di7vSVvqR837q4RIr3OI6jeypdfLV+9t+Opi9rUqC1yDAAiAAAiUDoFsvjNqfBC5uPhaFlsXLFhKLNzywddbtuwMarqIW7ZsDTU2XnHTcR7+Y0aNjVfp7NkLbhxf6OxkmCnckxE3sSDASyAvfPnfxTPIkqfuJyyBHIthQSNAoCgJ6O/7+d4HQbDhayHaKoTj8JCvNAeXIAACIAAClgjEwWHa8jEnTtSLXxLzr4n5Wj/4oZXj+O+FF97wPNTqacPe3xntEQLtcPM66j/1O0e07TjsnNsPZixG7lm7qXoGrT72rCfd7sf/SLwcpzx4tt35tj206+xHgQLOzl//QSypnEm0keXlct7yH+9S+Y9eo/Gx27lkj20ed4nk7ccC2zjSN+gsmftB5iVzAwtApIfA2NiYEDZPnj7rhnMYL41cc+KkGzZZFzeOnhU/Uri667ivCSzW8vLm+ozrit89S2te+AW1dXSKvvGMVT6OXV0pXrdtfd4vynwFpwJ4P1u53+++C5/ShpOvZkpKlyuqRDtbq51ZtifnmvfR5gIGR3to7/k/irZUnHqDWvu8+2Wrldzs6aWtp98hToeD6OLaQ4Jz35X2ScNhw1fb8rWTBgEVgwAIgAAIgEABCcTV1/IzrHy2DZqBq4q2uvBbQGwoegIJYAnkCYSNqkAABApCwIavhWirDA0e8hUYuAQBEACBBBGIg8O04WP4wfSzzxYIIZYfZnkpKPnrZDlc6gOvDJPnqL8kc/ON3XJE2yurqP/0e+J6rPNoSrw1L1PKeYc6e4UIcGD9PCGiXO9pEEX293TSon//FW1e+TvaceZ94ll6PNtN/m2qzzzT89qhBlFm45Ya2by8zyxS7H/uC1Fu877JF9Py7pChgJV3P0f7p39hiEkHNW2tEQzaasMJb+mcuMpEYP3WnbT7YHqp78YrzULsbO/sypRlwsJ532meuc4z4tVjuPsWlX33Cdr37OdqsLiur1hJNSu/FLMWWHyuPu68XobH+qis6lfi9ezLpAXc7O4RDC5cahQxK2un0tHGRVqq9O1QV59o5+q/fVGc+T7b0dZ3njbW/0a8p+w+N4t6Bh1xWc3He9Dye86pa5lFYDV90q/lHsbNe73vgVH9Rrb0QRxt+GobvjaojWHisjHQ48OUiTQgAAIgAALJJaD7hXzvg0jF0dfy8yzPtOVnXfV5l/vBQi7/cbz8YbL8cfKpU2dEOD8fc5hpeWSdJZfJYabwgYEhwt/kMVi++Pe+JZA5DGMyeWMC9mBf7Dag+kP9fT/fe7Vs/dqGr4Voq1CNw0O+0hxcggAIgAAIWCIQB4dpw8fwUlD8UMoPs3zww6v8RbJEpT7Q8nU+h3ygHR8bEALt4OUlNHB2lrge6aimwYvzaKSz2n3wlenVc/mPXqW90z+jpdUP06pjT9P6upddcZYFEw7nZVV5X8yrN0/Q8OitwPLujI9T+T+8Spvueys4XephXG2Lfj10s4+q3lkm9tbd+K+/peb99XmXqdcRl3u5RPLY4EjGPh58aQEt//7TYqZxXNpd7O04VFVLK9dXuMz3HKqkNZu2uPeT3T9eDnvDv7zhaU/dpxuEONp+8rInnNva23qNOi5fEOG8vDDvayv7UNO0TLy22/suumEyTj2fPn9BiLa8RHHP4HWRp7HzaGAefn2ywMx7TqtlZbu+2HaAVtY+Jeo4fOkrGhjpdvOfb90rwnsHW92wbOUlOX50YEgwPjlv8pbutuGrbfjafPwm8oIACIAACIBAnAnEzdeyYDtz5sfu6lB8L/e5lSIt/yhZHupMW5lWPg9v2bIr1BLLsiz9PD4+TvibeAamJZCPHNiEsYA9wgZgA3nbgP4+P1H3NnwtRFtltPCQr8DAJQiAAAgkiEAcHKYNH8OiLT+oyiNoVi0LuzwTVz7Ech4WHNQj231//yCJv1u9QqjtPTufehv+IK77+3qdOJkmw3nfi1+K5YwPXJgvBJK1x1+klYueoRWvPUXXOi+GKsNtR6qO+oU7hLhw9ejZnPL3dvZS7ex1VPYXU2nVvc/T6eV7cypHb1ec7xv31Qlm5zcdzdjX5T94lvZMm5cxPs79i2vb6s+cc2bWdnRRT28fLVm9jiprTsSGMb8OWAztam4XbeLXxvL//ixt/unvs7aRl3hetHIt9fb2ibRdPW3iNb694f3AvDv3HyReHrn1ZiPtOfupyNPV49SfaRyPvLNMtPPaiW8Dyzbl7+3rperLq8RM4CVVD1H1pRXU03eTtjX8nspPvBS5PFMdSQlb8/cv0V5tRn42PxE1XvVB+rUNX23D1+rtinpvk0nUupEeBEAABECg+AhE9RvZ0gcRiJOv5WdbFmjVPWr1mbZ6X1TRluPkj5iZiUm01VlxHg4zhet14b5wBLAEcuHYomQQAAEzAf19P997cy1OqA1fC9FWIRyHh3ylObgEARAAARCwRCAODtOGjwkz01ZFxqKu+stkNS7a9TgNXvzC+bvwOfVVPUJ37oyHKuLimoNCbOloukwjY/0klzo9/sm6UPlNicaGRsSM0GzL/ZrycntYqF32V0/TqS+3Ei8RWyrHih88K5aBNvW3ve6SGCfePxSHPQKdN7uFsNl0tYUuNV0R1xwWl6P9xLdi3Bu3VIsmnVu2V9zrS+Sa2tva3iH6c7Xluhtd1bhEiLCd/c7Sx26EcrFk81xaVfmaSMez7Y9c/lqJNV+27D9FW//rfXNkyFDe7/bwpS9FvStqnxBnnuGPI01g92N/pE0P/C4dMMFXNny1DV87wd1GdSAAAiAAAiAwYQTi5GvVFaJ4Vi3/4JhFWzmDVs60VX+ErINS0zr5h/UkuI8RgZVl7/uWQOYwHCAAAiCQJAI2fC1EW8UiEveQPzZKzS37aG/9l7Su5jlaVvMhbaxfT0db2mlwTOk4LkEABEAg4QTi4DBt+Bj1l8f8gKrvacthlZXOXq9qWjm8UX9JJvPlc+69fEOIQJc2HBHFnF++T9x3X2jJp1iq/XC1KIdnCS79i6m0ecpMOvDCl3Tys43EwmNHfSOxuCuP5j11tP6fXxd5eEnk4Zu3ZFTJnCvfXEJLvzfVKFSziM4sR/oGSobHRHWUZ6PW1p0Se9vy0shxO/j1w8tn88HLmfPrJMzB7ydiX9sT6T1QB0ZuCjF097mPPUUMj92i+msbaWXtMyJ+adWjYkl0FlLDHPxavrq7LkzSrGluDlwVS7KzYBwkLmctKIEJjn20hsr+/AlPz6L6jWzpPYVrNzZ8tQ1fqzUr8m02Bnp85AqQAQRAAARAIFEEdL+Q730QnKT4Wr2Pkpk8y3j9nsM5zBQu8+Bsn4BpCWSebYsDBEAABCaKgP6+n+99ULtt+FqItgrhODzkK83J67KnZSetq35IfDHGX0r5/qo/oQMtA3Q7r1qQGQRAAASKg0AcHKYtH8O/NNZ/dcyzaVnAbW1to/LyCjfezizb/Md4xQ+nUeUbi0VB2372Aa3/pxl5FzrSO0CXNx2lk3Mr6NDLC2jLT9+jlfc85wq5LEDy36q/fl7s2cnXPDO370p73nUXawE3Ks8KJld2HPN1YeN9b+U9k9FXKAIEgS279tKm7bvErNTj9adjR2XXo7Np3f9+jZq21Qr74NnoYY8d+w5SxY7dnuSVl78RnztZHGVR9NC3X7ifQ1fXvESLKj6hgcFBT57JuLnWUz8Z1ca6zm/XHxE2MFmNtOGrbfnayWKAekEABEAABECgkATgawtJF2WrBPQlkBe+/O+0YO50NQmuQQAEQCCRBGz4Woi2imlMzEP+GPU1X6Ll39TSlDcq6TuvOH9/P7OW3t1yiS715T8FtvniJ7TEJNT6wqbSuovtCRJuu2jD9HtpWkVXalT1e2WwJ/0yzm2bdDixbwDPYHz9zbdo4yb8MjD2g5VqYBwc5sT4mOARifpLsuDSwsfumfqZEE4H2rqFIMCzYQt18Iy8rtNXhAB1av4WOvybhbTvmbli5m2h6iymclfe/ZwQr9U2D7Q649Lw1TY1GNeWCFQfrxOCLc+4vdkdbmappapDFdOwYJt4XZb/6DXxI4dQmVKJTp4+Q4tXldPYWPrza/9wpxBpl9U86oq1By7OpfZbF8Vs47UVsLMojCcybWdDk7CFK9tr3Wqj+o1s6d2CDRc2fHUp+1oDUgSBAAiAAAgUAYFsvjNqfFCXk+Jr9T7qjGS8KZzDTOEyD875EdCXQP5y5oOEJZDzY4rcIAAC+RPQ3/fzvQ9qkQ1fC9FWIVzwh/zORpo/q5Luee84LTrYQi19vdQ3MkrD/b3Ud72FNq8/Tj+bUUkPr26kjvR3X0oLs18OXlkYUrCVs2+n0uYrEfbzOzmH7rr7XudvTkP2BrkpGmi2zKecZ6dX1HNT5nzRVkHTuGy3Xak63Xui+jmptitt4P7IdhjjlfzGtgkmcyg9X8Pc17SYTERqW1PXnniuKFO4sRGmQKcdsm+mFFHDBJ9sPEIW2lnxIt1194u0oc2fwRkHU5wjdrs2qIydvxR7IVKk5Xr/9YGf0KFDR8R5ztx59ipBSQUlEAeHWXAfU1CC+RV++uvtjlg7d5M4910xvPDzqwK5QxLgGc9l332Cbg+lfb+7ZPXFayFLQbIoBC41XRWibfnm7VGyTVhaKdTxbPT6LzZHqtfd1/Zael9bLoD3jl1ZO9W3BPLStRvocLV/pnekSpG4IATGR8eo/B9eFe/Rq+5+jir+/R0aH5vYNXls+OpS9rUFMQwUCgIgAAIgkCgC8LWJGs7YdObyxQbSl0Ce99GvCUsgx2aI0BAQAIEJJGDD10K0VQascA/5Y9RXV09TZlTRR9UdTo3jXVS3u46ee6+Kpsypo/IzqdmhYx10YEkV3TOznqqizrodu0Z7a6QYG+Fcs54uhRKJHRHQKy5ymElcU8CKS4OA6BEl/WKcK8xNr6BOtbiUcJyLGJlNdPTHp9qlt8HXHr9o622fiV26ECFganWYwtI5wlxlZi7ZettIRKoobxBEM/KRIrjWh6BWOqKtOjNapnba7Rd0U+Ee0ZjDwtifLDu3M8+ofejhx6i7p3AzpKQwfOz4idwaiVyBBOLgMAvnYwK77omM+ksyT+Y8bjpOXhZCAIuFm+7/XR4lIWu+BG4cTS2RvPO4W9Tux/9Ia//ny+49LuwS6Lt1S4i2PCs1rsfy7z8t9obOZU9j3te2pi790zXuI+9hqx+dXTcFh8tXrupRuI8BgbNle2jZ96aK9+olf/Y4rfm7l4iXS47qN7KlD+qqDV9ty9eatiJQ267G61sRZGOgx6vl4hoEQAAEQKD0COh+Id/7IIJx8rVB7YwapzOT+U3hHGYKl3lwDk+ARdkvPvglLXn6fip77D7CEsjh2SElCIDAxBLQ3/fzvQ9qvQ1fC9FWIWzrIV8pUlwON9TTfa/VUvl1Oaulm3bNSy+NLJdIfuVwdyrrKLXsqKXvv11PdUN6aZnvbzctdJeh8+1h61saWRV1H6LNTZnLTccYREAKK5qZ8hIFC5N6Hq+w6xMc0w3NeOUXHb1JjfFCXA4QBjPMtNXbF62vet+97Qx3p5WREsnddmn3ou93K+KzFs916nyy3Qe1k3lMmzOHpulCL/OcPodmT/cy1+sKKtt2HIu2vBwyC6uFOiDaFoqsU24cHGahfExhydkrnQVbnsnHSxbjmFwCvMcw7+/LB8+45XGpemfZ5DYq4bUvK99ALN7G9eAlzGveW5lT87bvPUCbtH1tTQU1nD0vRNuhoWFTNMImmQC/N7NYy+8HfF517wt0btneCW2VDV9tw9fyZ7LPPltAjY1XqLu7R+wZz2d5cPiyZWvELYfPnPmxSCvjcQYBEAABEACBuBKIi6+NKx+0KxwBXu74q7f+Uwi1LNZiCeRw3JAKBECgNAjY8LUQbRVbsfGQrxTnXA410UdvV9FHDX3pqAsN9OPUXrZSsBXnNxvorJuqj+qWVtF9a1vckGwXZ0+l9w6LJto+SEtOXcxSvCMAyhmad7G4p83K5DhXEPSVpgmIqfggITOzSOeIt/66nPD0TGD93i866s001ukTbb0sZlfwssyK2CmEbD8Lb1/9bVPj1WvZRtE2OaN1ToMQUHUG3jQVYo9fmcZUpgjzzFyVtfHZ30YvHydeli9yClYKC81G1LRO3dxGvzg7raJCm0Frth+1tYW6ZsE2bff3in1spcAq97SV9zxLlpdMlullvNo2NV4KwY2NTWK5ZZmPz5xXlquWw7N9edavnJEr0+Rat9q2JF/HwWEWxMdEHLSovySLWHxg8u0//1CIAbdaPGsnBOZBZGEIVL65hJZ+byrdHh6llv31YlyuHz5dmMpQqiCgz0SNGxYW5/pvpFZ9idg40762piJ27T9E67bEc4loU3tLLYyXrfeKts9T/7VO30yUqH5ETx/E1YavtuFrWZRl0ZY/Y/GxYMFS4pm1poPTcLwq6up9znY/PDxC+AMD2ABsADZQWjag+pRsfiJqvFq2fh0XX6u3K997nZEszxTOYaZwmQdnMwG5BPLi6Q8IsXbJU/cTlkA2s0IoCIBA/Ajo7/v53gf10IavhWirELbxkK8UJy77Ko/Td/5wnlKLIouwjt015BFrXQG3hsrblRJaz9LDr9RTnRIUdHmyXp09G/G6PsyXtQbhzCdoZmqhIa+cuanPtOQiAss1iIWiWl1k1O9zFG2F8CiFRacfaWFY7pOrCJUm0Vb0R91v1982cmct+/snxFKVU0oMVUXQbGmMAq0oR227On7+NnpF29RMaWV5Ym+8PuZ8n65LtofPaZ6chlnLc6o9njFQ2zgx1yyaSoGVa5RCqRRT5T2LrVJM5TPvf8uCrDxYsFX3wVXL1cVYUz0cpqezUbdsX5LPcXCYhfAxxTRmJ2avo81TZhZTkxPb1huVqSWSdxyjo2+ViWVxE9vZmHRsZFSuthKTBllsRlt7h5hB23ztRmCpvJ9tZW16We7AxIicFAI3zzXT0TfLqOrtZdQ9CXtc2/DVNnytOpOWB4KXP84k2nK4vjxy1MGDUFNaQg3GG+MNG4ANsA1M1hEXXztZ/Ue90QlgCeTozJADBECgtAnY8LUQbRUbsvGQrxTnXJpm2jbU0/ddoVZZJvm1eqoblyWkZtqubKKwi8idPBlRqFWXTD5ZR7dl1RnPugiXTVxVCzLkNQiPModX/JOh8uwXNZ0YXWTU76XAeq87E1LMbFRmmvrrddp9VyqNEBpV8ZQr9gmfqTxyVqx7TguWplmsXJSon9OrdRgFbI1nmDQ+4VO2U22XZCz7JcVqOF0udAAAIABJREFUJ9zPRwq3KaZZ250uX4q2QqCX+biN4prbptTtY5wuZyKuVHGV65NCqS7ayntOo4urLN5Oe/5Fz764nIbDOE5Pb6rHVK7eFlOabHVznqQfcXCYBfExEQcu6i/JIhYfmLzlwCk6/TVm2QVCmsDIFT94ViyRvPpvXqC9T302gTWjqqQR4PcVsa9thpmI3N/2zi4h7DZebU5a9xPfn6h+I1v6IGA2fLUNXxt2pi0LtrNmzXVn5Mq+ZWOgx8t8OIMACIAACJQmAd0v5HsfRDEuvjaojbnESWbyLMvQ7zmcw0zhMg/ODgEsgQxLAAEQSBIB/X0/3/sgNjZ8LURbhbCNh3ylOPfS3dO2dcwJG2+j8tmKWJsScKfubkvlGaOW3ak9bSP8AK+wyyNz0zShkIN8YqEUAlMiniuIauFCyFREuVTPnZOhHk98nqKt2yZPoeLGFU1dofVeZRZohpm6PkHR235XnPRU5xeURXRqRm565qkUT3Vh1VuHXzjm0rQ0pAms7hLXetnpvJ52SFFZ4Sd4CZHV6Q+L4Goe0XfB0l9HmgvndWyBw5z83HbFPnyCswdmwW9siLY881b8SECxLb6Xs3ELKdpmq7vgAGNQQRwcZqF8TAzwhmrC2MBwzsuvhqoAiSIRqPztErEsMu9feXHtoUh5kRgEdAK8r21FwL629WfOCdF2ZCS5M451JriPTsCGr7bha/kHcUF72nLPeHatSbCN3mvkAAEQAAEQAIGJIxAXXztxPUZNUQhgCeQotJAWBEAABMwEbPhaiLYKWxsP+UpxyuUY9dXV05QZNfTp8dRCyWM36MDSWprydhXd914tfVSZWlJurIOqVtbQPTPrqaovJfIqJQVd3m5aSFH3snXSP0Sb0yu4BlThFwH9om2m7Ia8mZIK4dIv8qWTF1i0VUTJdJ18lRIm9fgsom162WO1NKcsVeB0Yv2cHOFT5+FNFyaNWrt7zW2Xs1zdQKdsf7gmWpvGySfiO4U67fPOIBZhKZZ8Pa2iwRVvfcxSYra6HLTb3Am4sCHa6mXozS6kaJutbr0tSbyPg8MsnI8JP2JRf0kWvmSkLDYC14+ccUXb4Zu3iq35aG/MCNQ1nKHFq8ppbMz82XXHvoO0YevOmLUazQlDIKrfyJY+qE4bvtqWr+VZtFOnviT+5NLIUqhtbW2jGTPedeM5nbpEcjYGenwQE8SBAAiAAAgkn4DuF/K9DyIWJ18b1M6ocTozmd8UzmGmcJmnFM9YArkURx19BoHSIqC/7+d7H0TPhq+FaKsQtvWQrxTpvbx+nn47s5LumVVH5XXXqWNIzjYYpeHO61S1u44enlFJUxacpxbzd17e8vS7sWu0tyaHJZJr1tOlUPV5hUJRfQaRTm+aadanP40TIsQ8n5Copp4s0TYlWuptyyrapma4evKFF22dWbTKrFOBQhsL40xULY2KMHXNM2W9wnFKsFX2nlWzeZZHDhB8jeKqZiuqaOuI/+qev9wOb589dauNmoBrXfTUlyTW77lJugjLSxQ/9PCjnj1u1abr6TkuTLlh0mSrW21HUq/j4DAL7mOSOnjoV8EIrPjhNOwzXDC6pVVwa8C+tvwwVLZ6HVUdqystKOhtZAI2fDV8bWTsyAACIAACIFBCBOBrS2iwQ3QVSyCHgIQkIAACIBCRgA1fC9FWgT4hD/njvXSp+jS9O6eK7lH3tZ1RRc99c5oONPcqLYp+OXhlIS1R96rNej2VNl+R4nG2+kwioCnMVE7YdCaBUy9v8kRbKS6mhU6nLXd5RE5TX/WwCKKtnOGriL5C8Lz7XkqLo6l2ZEtT0eDCdMpQZ/A6bfT2xU0uLrzCqZM+zUIuv5wqk0VadVayJm57RNtUH9P94bK9oq0U/uX+wk7LdK7e9tq6syHaclvmzJ1HDz38mLuvLQuuZ86eFc00ia8yz+tvvuXul8Zl8LLKvOQxH6Z8JgE4qG5RUML/xcFhToiPyTKOUX9JlqU4RBc5gco3FtPJzzYWeS/Q/DgQEMLsmvVUW1fva05bR6dYGvlK8zVfHALiTyCq38iWPqjHNnw1fG0QYcSBAAiAAAjEkUA23xk1PqiPSfG1eh91RjLeFM5hpnCZJ+lnLIGc9BFG/0AABEwE9Pf9fO9NdcgwG74Woq2kyft11vu/aFKii+ay+eInIYXbqbTuYjvdDt0zs0AmBUR9P1Nvsea83jTOnVcYVFKklsjV9wVNi4a6EKrfa8v7KkXLy4x1ywR8FuJjas9eISxy3/ziZ1qAdDI7nKQQ6W+bkyoTJydc9t1ZSlgVbTm3nqaLuD9uO05W0LTpst18VtssBVc1Xl6n08mxTjP31qmW2XmygTbMkWXwWfZd4aGKuk5w6j+X603vRKTEaWVfWO5fZ1uXJ7ftG1uiLbdLiq5yLL9ZtNgVZNW9ZzkdH1KAlek5DcdFFW2z1S0qS/C/ODjMpPiYBJtJyXWNl0juOn2l5PqNDheGgNjXduceX+EnT5/FfrY+KggwEbDhq+FrTWQRBgIgAAIgAAIOAfja0rUELIFcumOPnoMACEwsARu+FqKtMmZJesjvadlJ66ofyrzHbfUndKBlIIJgq4AqmstMwmjRdCCgoY5Y6gqyASkRBQIg4Pwox4bDy6eMOPiYqL8kg+2AAAiAQFgCmfa1ZTF30/ZdYYtBupgRiOo3sqUP6p6Nh1v42iDCiAMBEAABEIgjgWy+M2p8UB+T4mv1PuqMZLwpnMNM4TJP0s6mJZA3rZuftG6iPyAAAiAQSEB/38/3PqgyG742n++fZd7/K6iRxRQXh4d8q7zGRqm5ZR/trf+S1tU8R8tqPqSN9evpaEs7DYbaw9ZqayahsCQLm0nu2ySYCqpMPIE4OMzE+ZjEWw06CAIgEIWAu6/t9Rtuttvj42I/25oTJ90wXIBAJgI2fDV8bSa6CAcBEAABEAABOz9mhq+NvyXpSyAvnv4Azfvo18ThOEAABEAABApLwMZzrRRe8zlDtC3sOKP0yASUJXSVPV4jFxPrDBBtYz08aFzsCMTBYcbh4TbqL8liN5BoEAiAQGwJ8PtLmdjX9pTbxhtt7WJp5OZr190wXBQXgah+I1v6oN7b8NXwtUGEEQcCIAACIBBHAtl8Z9T4oD4mxdfqfZSM5FnG6/cczmGmcJmnmM+8BPL8mQ/Skqfvp7LH7qOvZ0yhBXOnF3OX0HYQAAEQsEJAf9/P9z6oUTZ8bT5ircwL0TZolBAHAiAAAiAw6QTi4DDj8EXypA8EGgACIJBoArwU8mZlX9sTp84I0XZsrCSWeEn02E5E52z4avjaiRgp1AECIAACIFCsBOBri3Xkgtu9eMHrQqBloZb/vpz5IGEJ5GBmiAUBEACBQhGw4Wul8JrPGaJtoUYY5YIACIAACFghEAeHGYcvkqP+kswKfBQCAiBQMgT0fW237tnvEXFLBkSCOhrVb2RLH4TGhq+Grw0ijDgQAAEQAIE4EsjmO6PGB/UxKb5W76POSMabwjnMFC7zFMuZlzr+YvaTxEsfs1CLJZCLZeTQThAAgckgoL/v53sf1AcbvjYfsVbmhWgbNEqIAwEQAAEQmHQCcXCYcfgiedIHAg0AARBINAG5HHLL9Vbi/WwXryqn2pPp5ZIT3Xl0Lm8CNnw1fG3ew4ACQAAEQAAEEkwAvrb4BxdLIBf/GKIHIAACySZgw9dK4TWfM0TbZNsZegcCIAACRU8gDg4zDl8kR/0lWdEPPDoAAiAwoQRu374tlkM+dvIUXW9tE9ctN1ontA2ozC6BqH4jW/qg1tnw1fC1QYQRBwIgAAIgEEcC2Xxn1PigPibF1+p91BnJeFM4h5nCZZ64nrEEclxHBu0CARAoBgL6+36+90F9tuFr8xFrZV6ItkGjhDgQAAEQAIFJJxAHhxmHL5InfSDQABAAgcQTEPva7tpLx+sbxExbnnGLAwTCELDhq+Frw5BGGhAAARAAgVIlAF9bXCOPJZCLa7zQWhAAARBgAjZ8rRRe8zlDtIU9ggAIgAAIxJpAHBxmHL5IjvpLslgPKhoHAiAQSwK8r+2ilWtp4/ZdtHX3vli2EY0KTyCq38iWPqhmG74avjaIMOJAAARAAATiSCCb74waH9THpPhavY86IxlvCucwU7jME4czlkCOwyigDSAAAkkioL/v53sfxMaGr81HrJV5IdoGjRLiQAAEQAAEJp1AHBxmHL5InvSBQANAAAQST0Dua8vC7fH604nvLzpoj4ANXw1fa288UBIIgAAIgEDyCMDXxntMsQRyvMcHrQMBEACBMARs+FopvOZzhmgbZrSQBgRAAARAYNIIxMFhxuGL5Ki/JJu0AUPFIAACRUuA97VdvKpczLblfW1xFDeBqH4jW/ogGjZ8NXxtEGHEgQAIgAAIxJFANt8ZNT6oj0nxtXofJSN5lvH6PYdzmClc5pnoM5ZAnmjiqA8EQKAUCejv+/neBzG04WvzEWtlXoi2QaOEOBAAARAAgUknEAeHGYcvkid9INAAEACBkiCwbc9+IdqygIsDBMISsOGr4WvD0kY6EAABEACBUiQAXxufUccSyPEZC7QEBEAABGwSsOFrpfCazxmirc1RRVkgAAIgAALWCcTBYcbhi+SovySzPhAoEARAoCQI8L62LNzisEtgy5adNHXqS+JvwYKlovDu7h7i66GhIbuVpUqL6jeypQ9qpA1fDV8bRBhxIAACIAAC2QjA145Qti+I4+Br9XHUP3/IeFM4h5nCZZ5Cn9UlkJc8dT99OfNB2rRufqGrRfkgAAIgEBsC8LXZfW02XxwmHqJtbEweDQEBEAABEDARsPFFcBiHGJQmjg+3JlYIAwEQAIF8CfC+tizc4rBHoLHxCn322QJXnN279yBxWKFFW3s9yF6SDV8NX5udM1KAAAiAAAiYCcDXhvsSGb7WbD9BoaYlkL+YPZU4HAcIgAAIlBIB+Npwvjbo++WwcRBtS+mVhb6CAAiAQBESsPFFcFinmCldHB5u9V8UZ7svwqFGk0EABGJAgJdF7ujsikFLktMEFmdnzvxYCLWyVzy7dtasuWLm7QsvvCHi+CGYr3lGrpyNKx+MZ8x4V4RznrAzc7P5iajxsu2msw1fDV9rIoswEAABEACBMATga8N9kRwHX6uPp/55RMabwjnMFC7z2DzzDNr5Mx+kJU/fT2WP3Udfz5hCC7/8jc0qUBYIgAAIFBUB+NpwvjbTd8tRwiHaFtVLA40FARAAgdIjYOOL4CiO0ZQ2jg+3pWcJ6DEIgAAIFC8BVaTlJaX4kIIsx/EDMAuyfOZDzsblNCz4ynAWc2V+kTAm/2z4avjamAwmmgECIAACRUoAvjb7l8nwtdmNe8HnzwuBloVauQQy72GLAwRAAARAgMQPiOWPj+VzKZ5rs/tf03fNQWEQbfFqAwEQAAEQiDUBG18EBznCMHFxeLjVf1Gc7T7Wg4rGgQAIgEAJE2Dh9cSJeo9oyw+6cpat3PtWT8PIOEw+HGdDmM1PRI0Pqs+Gr4avDSKMOBAAARAAgSgE4GvNXyDHwdfq46h/HpHxpnAOM4XLPLmeeanjebMeocXTHxCzavmMJZBzpYl8IAACpUIAvtbsa8N8z5wtDUTbUnkVoZ8gAAIgUKQEbHwRnM0ZZouP48NtkQ4nmg0CIAACJUdAF1rlbNmgXyRLSGoaDpMPxjI+Lmcbvhq+Ni6jiXaAAAiAQPERgK8N98UxfK3XtuUSyDyrFksge9ngDgRAAAR0AvC14Xxttu+Yw8RDtNWtD/cgAAIgAAKxImDji+AwDjEoTRwebvVfFGe7j9UgojEgAAIgUMIEbtxoFWKrnEHLwisf6jKO/ACszrY17XOr7nUbBmc2PxE1PqhOG74avjaIMOJAAARAAASCCMDXhvsiOQ6+Vh9H+XlEnmW8fs/hHGYKl3nCnrEEclhSSAcCIAACaQLwteF8bdD3y2HjINqm7Q5XIAACIAACMSRg44vgsE4xU7o4PtzGcKgS26TW1g4aHx9PbP8mumOtre00Pn5noqtNbH03brRb+fIqsYAidixuPPWZthG7M2HJbfhq+NoJG67YVdTe3kVjY2Oxa1cxNqizs5v48yyO/AncvNlDQ0PD+ReEEqi3t4/6+wdjSwK+NrZDY7VhWAI5M87Ozps0MjKaOQFishLo7u6lwcGhrOmQIDOBvr5+unWrP3MCxGQlMDAwSD09fVnTTUaCUvK1mb5bjhIO0XYyrBR1ggAIgAAIhCZg44vgKI7RlDYOXyTrvyjOdh8aMBJmJQDRNiuiSAkg2kbClTVx3ETGrA2OeYK48czn4Tabn4gaHzR0Nnw1fG0Q4WTHQbS1N74Qbe2xhGhrj2WSRduovjRb+iDqSfG1eh91JjLeFM5hpnCZx3TGEsgmKt4wiLZeHrncQbTNhZo3D0RbL49c7pIq2urv+/neB7G14WtN3ytHDYNoGzRKiAMBEAABEJh0AnFwmHH4InnSB6KEGwDR1u7gQ7S1yzNuIqPd3k18aeCZG3Mbvhq+Njf2ScgF0dbeKEK0tccSoq09lnEXbe31tLAlwddG44slkMPzgmgbnlWmlBBtM5EJHw7RNjyrTCnjLNpmanPcwm342qgCrSk9RNu4WQbaAwIgAAIg4CEQB4c5UV8k84wq3seQ9y3csmWnh0PUX5J5MuMmLwIQbfPC58sM0daHJK8AiIx54fNlThLPqH4jW3ofLCXAhq+Gr1WAltglRFt7Aw7R1h5LiLb2WCZZtM3mO6PGB1EvJl8b1A8Z53323SWD3bPOjiM4zBQuM5mWQP784ydoy0dzqXL7CpkMZ40ARFsNSA63EG1zgKZlgWirAcnhNqmirf6+n+99EFobvtYkwkYNg2gbNEqIAwEQAAEQmHQCcXCYE/VF8oIFS+nEiXoaGhqizz5bQPwgi2PyCUC0tTsGEG3t8kySyGiXTG6lgWdu3Gz4avja3NgnIRdEW3ujCNHWHkuItvZYJlm0tUcpe0nF5Guz94ZIPvvyPqD5PvualkD+Zv5v6ODTe+nwo4fp8COVdPjRI1RZ/kGYppVcGoi2+Q85RNv8GUK0zZ9hUkXb/MmEL8GGr40q0JrSQ7QNP2ZICQIgAAIgMAkE4uAwJ+KL5O7uHpo1ay7xmQ+eaavOto36S7Lr19sIf2AAG4ANwAZKywZUNx3Vb2RLr5atX9vw1fC1pWWreG/CeMMGYAPFagOqD8zmO6PGq2Xr18Xia/V2m+7VZ19mtGXLLs+zL+fR2ckwU3jZY/fRkqfup3kf/JJmVXxJM6v3eP4WV1fg2RjfD8AGYAOwgSKyAdV36O/7+d6rZevXNnytSYSNGgbRVh8Z3IMACIAACMSKQBwc5kR9kcy/NuZZtnzwjFtVtI06KMX6JQjajS/wYAOwAdhA7jYQ1VfYSm/DV8PX5j7ueM2AHWwANgAbmDgbsOU7o5ZTLL42TL9YtPU++54Swm2YvKY0sP+Js3+wBmvYAGxgImzA9F4/EWE2fG1UgdaUHqLtRIw26gABEAABEMiZQBwc5kR9kZxtpq3+azKGqofxvR6WM3xkFASwXKpdQ8By07Z5ttP4+B27hZZwaUl4vUsfoPsDGS6HV73PdC3TZjvb8NXwtdkoJze+vb2TxsZuJ7eDE9izrq5uGh4emcAak1sVlke2N7Y9PX3ESzYm6ZB+k8/ymvunXuv3apx6HZZLsfjaMP1RZ9pyemem7S4PP8lIntVy1TD1Wk3D14ff3k81Lx2kmhcPU83LB+nY4TI9Ce6JqKPjJo2OjoJFHgTYpgcHh/MoAVmxPHL+NjAwMEQ9Pb35FxSTEuT7O5/lNTdNvdbv1Tj1OmyXbPhakwgbNQyibdgRQzoQAAEQAIFJIRAHhzkRXyQzXLmvD/a0nRRTy1hpEkScjJ2bhAiItnahwz7B0y6B3Eqz4avha3Njn4Rc2NPW3ihiX0J7LCHa2mOZRNHWHp3wJRWTrw3Tq/Sz73Dee9oG1Xdsdw1Vb9hCl5vqgpKVdBx8R/7DD5+RP0OItvkzxJ62+TO04WujCrSm9BBt8x9LlAACIAACIFBAAnFwmBP1RXJj4xV64YU3aOrUl7IujSx/McZn+cfDMD4+Lv4yxcu0iHdmJobhwaIYc+UjTHqZBunNvFpb2+n2bWdGlWTFZ/Ay85KMMvGBfaZ/dStZ5WNPjn0m+/UuXmxZfqEs7U2mzXa24avha+3asnw9yLGM8z2LtjzDJ5/Xbpz7J9s2Ef1zvngfcT+vFMP4TySfKDx41vLQ0LDLciLGL0r7iqk93d297kzbuI63bZ48lnzIclO3We9lOtO5mHytqf16mP7sK1kFnTlOjce9HR7sO3iVBvDMnSeLtoODQ7DPPJ7r+/puEQu3fEhbxOs92vck/f2DxD+UKhV+0q9IOwl7L9OZzjZ8rUmEjRoG0dY0OggDARAAARCIDYE4OMyJ+iI5NtDREA8BzGT04Mj7hkUxLOebN0a3ANini8LKBXjmhtGGr4avzY19EnJheWR7o4jZUvZYYtaUPZa9vX3EXyTjyI8AfG1+/JA7MwH4jsxswsbwj1NYtMWROwEWbW/dGsi9AOSkpC2PPBlDasPXRhVoTekh2k7G6Iepc3yEhq9W063qTdS79xvq2buW+qr3U//VVhpzfvwfphSkAQEQAIGiJxAHhzmZXyQH/UJOjZPXckaoHPiovzhDeu/eoMxDFXHAx89H2hqfw/BhnlK0DZM+avmlll5dbho87din5CjP0qaK9Z7bLf9kX/ish8n+6Wc1T6ZrG74avjZNV46BDEn6vSPajsnuhvIlbuKQvqdU0jt72nr31Eu6/RSqf1K0LVT50iZLoXx1eeSk9pf7Jf/k2PJZD5P9189qnkzXxe5rM/VLspDx8l6e1XA1DM+9+X/ulWw7OrpoZMS7p63KmtPhPpi3nGkrmYJXMC8TH1W0NcVLtrDHzK9HuTxyUvlxv+Sfbg9qn+W1flbzZLq24WtNImzUMIi2mUZoEsNHmw9R364vqGdbhr9da6m/uY+g3U7iIKFqEACBCSMQB4c5mV8kTxhoVAQCIAACIAACORKw4avha3OEj2wgAAIgAAIlQQC+tiSGGZ0EARAAARCYRAI2fG1UgdaUHqJtJCMYo77mS7T8m1qa8kYlfecV5+/vZ9bSu1su0aW+9K+DIxWrJB4+szazWOsRcb+h3jOtEG4VdrgEgTAEhoaG6PU336KNmyrCJEeaGBCIg8PEF8kxMAQ0AQRAAARAIDIB+etiNaMM089qmqjXNnw1fG1U6kgPAiAAAiAQBwLSn6ptkWH6WU0T9Trpvlay0rlEDdfz4x4EQAAEQKD4CZh8gQzTz/n01oavNYmwUcMg2oYdxc5Gmj+rku557zgtOthCLX291DcySsP9vdR3vYU2rz9OP5tRSQ+vbqSOHLXbsaatIQVbOQP3G+prGgnbA6KTc+iuu+91/uY0ZM1XP4fTzqF6LWWmcC0ZUVsFTbv7XppW0eWLkm1R4zorXky3T7ZTr1/0wd8mrsDJ/yJtaPNWlyncm8q5M7eBOaTLFWmmV1CnXoCpbTrzFBN3HFL9nH0yXViYNqRTR78S45dp/FPtU9sja3DaZWYv08izkzbNTIaLcfewa6DZd9/rRhfiQoq0zPxfH/gJHTp0RJznzJ1XiOpQZgEIxMFh4ovkAgwsigQBEAABEEgMARu+Gr42MeaAjoAACIAACBSAAHxtAaCiSBAAARAAARBQCNjwtVEFWlN6iLbKoJgvx6ivrp6mzKiij6o7nCTjXVS3u46ee6+Kpsypo/IzKVFyrIMOLKmie2bWU1XUWbfj1+jWHinGRjjv2U9DodZJdsQxVSQl4jCDsOaCcPJ4BTxTmJvBeyEFSo9I5yRxhF+voGsSQ31CoUkYdWvtog3TvWUSmcLcDKEudJHa1E5RkK9tBuaCicY8QCiVDdTbIMN9Z1UkdoVvR6iX4xgo2hJRpnhvuMPVFZ+1MXbG7V66SxeHuX2etA4jXz8sBvCM2ocefoy6e3osluotSgrDx46f8EbgzgqBODjMuHyRzL8eU/8YMO/lo4bh2ssIPMADNgAbgA1ktwH2J8zJdBaBWf7Z8NXwtdnHCbYMRrAB2ABsoHhtwORjpe/N4mZFdJJ8bZj+SjbqGfZfvPaPscPYwQZgAxNhA3HwtSYRNmoYRNssnxSGG+rpvtdqqfy63JC9m3bNSy+NLJdIfuVwd6qkUWrZUUvff7ue6oayFK5Ej1/aFHGWbVrY7bukFJTx0iS2cpgmIGr5dYFSv9eSe29ZjJw+h2ZP1+tw6p0950XPLFxz2Vq7fcKot0pnBq8yGzRbei277zYlgkrBk+PN7aTUTGalbiGK30tqXmf2sc4js1Aq2mNog6+dAQF6e73iqyGjkZl3HPQy9Huuc1pFhd++uGyfaDvH0Ah7QSza8nLILKwW6oBoWyiyTrk2Hk6jOkc9fVy+SC4saZQOAiAAAiAAArkRsOGr4WtzY49cIAACIAACpUEAvrY0xhm9BAEQAAEQmDwCNnyt/p1yLvcQbYNsYKiJPnq7ij5q6EunutBAP07tZSsFW3F+s4HOuqn6qG5pFd23tsUNyXYxVPNVzqJtT83lLMU7gps7K5KXHE4JgekwTVx0S1TFOvWaE2izLeXMTinKiRmkc2iDEPCUJZJTwt2GOd5Zsbq46DRBq1MKip72q0KpOrNWvZYd0ljoM0FlMnFOpdXSmNupi7ZaPXKZZ9NM24DZrc5saH3Gql62dyatpwuG+qTAKs5yzNQ+GvJ4xXCHq1+MTo+DYDSnwRG41bJTY59eWpr78qKnyTZvWLBVbZzvpcDK13zIe54ly0smy/QyXm2PGi+F4MbGJrHcsszHZ1M9XA7P9uVZv3JGbr51q21L8nUcHOZkf5HMv0bTDz1Mv9fT4x4EQAAEQAAEmEBYfxE2HZdpw1fD18I+QQAEQAAEkkIgrA8Nm465JMHXBo0rYmerAAAgAElEQVSvykK9lnlMYRyXKVzmwxkEQAAEQCCZBMK+/4dNx5Rs+NpcRFo9D0TbAJvtqzxO3/nDeUotiixSduyuIY9Y6wq4NVTerhTWepYefqWe6pSgoMvBo+mZsz3bIl4fTcvFmetwhD6/0Oaf9amXIQU4736kKcHWFeQMAmlKtK3nsxRyUwIlL9PMoqG6XLNJDHWERaWNUqx1603NUpWiKDdeCoOyfrdDDoN0nXof3ITiQrTHMBPZ1E6RQbQtLVxKwTUr81Sf0u1KtyNTG9IpUv1X+PriFFYcJ8XadLtSIrCbzj+Woh1uvH//YFGmHi/uNbuTY+M2kuMLJ9pyNSygSoGV76VQKkVZec9iqxRT+cz737IgKw8WbNV9cNVydTHWVA+H6els1C3bl+RzHBzmZH+RnOTxRd9AAARAAASKn4ANXw1fW/x2gB6AAAiAAAgUjgB8beHYomQQAAEQAAEQYAI2fK0uwOZyD9E2yB5NM20b6un7rlCrLJP8Wj3VuXvLpmbarmyi4aDylbiBIxGFWlXYPdJAbtVKmd5LTTzjSNOMSm8m506k02dz+svziZmuaMoioBReHZFuQ5sjHqpCpSNQOvWosxbVNN4Zn7Kxelucey5DzetrXxCDVJ/V/LK2TO102hxGtPX30btkcKqmgDZ42yLZylA1vz9OF1hFak1w9rJyRNy0yOuU7+GgicYiLiXiesqKsWgrRVzunS6usng77fkXPfvichoO4zg9PZchBdmgcsOkyVa3MxrJ/h8HhzmZXyTrvwhT7/lavU+2JaB3IAACIAAC2QiY/ILJT4RNl60+GW/DV8PXSpo4gwAIgAAIxJlAWB8aNl3Yvha7rw3bT/1zS9C9iXHYepAOBEAABEAgvgRM7++6P+DWh00Xtqc2fG0uIq2eB6JtlhFz97RtHXNSjrdR+WxFrE0JuFN3t6VKGqOW3ak9bUeyFK5EF3Z5ZK5IFzZNom1a7BQCpDJz0pmdqQqSqRmbbhr/7ExHFHbysHAnBFAWIlMCH5epiqIecU+01y84Bom2vrK0WbJGsdLERS77rAmRcri87ZSh+vLI4ZjrDNKlOTyNYq5MlEXUzdROIwch2iq8Rdmpe/U6VbcoQ/BJtdMkkLu2odhekYq2PPNW/SGBvJazcQsp2marW5pDks9xcJiT+UVykscWfQMBEAABEEgGARu+Gr42GbaAXoAACIAACBSGAHxtYbiiVBAAARAAARCQBGz4Wl2AzeUeoq0ckYznMeqrq6cpM2ro0+OphZLHbtCBpbU05e0quu+9Wvqo8oaTe6yDqlbW0D0z66mqLyXyZizXGzF+aVPOe9r2XfKWZb5ThDOZwCDGySj9bBQAU6KhFLDuckW6VG4RnxJ6+Xp6BdVL8VZZJlnWpdch7vUytRmhTl5D33zpUuKiXl5KtFUFX0cYVgRM2cDUWW+nG+2r09AunbnKyC1ICsCZ2+DuJ5xBWOaiMgnCmUVbVZR3eInZtbrQamqz1i/f2Mky5NntKzOKx/LIQTNi1aWQ3aYrF4UUbbPVrTQjsZdxcJiT+UWy/CWZPPNAm65lGJ/ln5oW8c6+wJKNyoM5bdmyk6ZOfUn8nThRLxjybPhZsz4TYXzme853+XITvfDCGyKc8+mcZR16uLwvlXjJb8uWXYE8GxuveHiWCh9pD/rZ1P+bN7tpxox3XVscHBwU9gj7TL+uJUcTPw5T4/k1Ll/vX3+9NHH2OT7urMGj9lvtvylcAEr9k/FqWLZrG74avjbt33kM5B+zl2Oinostnn2BfN1JP8t94Ncgh/N7HL/X8eH1s44P0TkUW/8L0f4FC8oEP2kXfK+y5HDdx8p2gJ/zGpOfVSS37u4e8XrTWTI39r2zZs0VjNn/8r3kqZ9Lka/6ulX5qD73xIlTgq/D0v8ZW3IsBn7wtcL8rfzj8ZZjH1Sgnk7aiSlclifTyHv9XErx6mtRPp9x/9X3O/kemMl3lDI/1c74swtzk/Zj+izjfZ+ba/QZMr/OVd4nNV7/TMj9Ve0zSb5CtRs5rvKc6/iqn134eyl+vXJZzC3sZ21ZdyHal2//1PzF6mtzEWn1PBBt2RLCHNfP029nVtI9s+qovO46dQyNpnKN0nDndaraXUcPz6ikKQvOU0s0vdYpZ/wa3dqTwxLJe/bTUPa1kUPOtM0Mwi9UKqJepmwecU/OyEwLg7qo6K/DIHr6hFHTjGEpeqbr4ib6yzflder0CdBKH43lcLyvbYb2a+ImZ/OLqCHboM0kVppoHu9UAn99Zjain3Ma/OKvT3jlgr19lXnTbUrZS0V6prUTx/niL9ryEsUPPfyoZ4/bdN/8yylzHDtR3ks3SAwOkyZb3Wo7knpt44tg3flFvZ/ML5KTOq5x6hc/IPCDAx/8gXfmzI+pp6dXPDgsWLBUhHO8TMNhnGdoaJg++2yByBOn/sSlLcyJ/yQ3ZgaeuY2OtDnOffbsBWFz4JkbS37dMk9+jfOxdOka8MwNpSeXDV8NX+tBmqibTH6WfS77UX5dqu9p8j0PfjazGbBvZXb8HsYHWGZmFRSjfr5jhtLHmuxStVE1X1D5pRQn/Sn3mfkwL/U1zH6XRe+gz9ilxCuXvsLX5kINeZgAv79Jf8GvQX7e5TD4juj2Edb/wmeY2ao2xz5i795D8BVmVBlD2bbYDvmQr+1M/lblrdpkxsIRgT1tbdvAhDzkj/fSperT9O6cKrpH3dd2RhU9981pOtDsfPmTa9/GmrZGnG37DfU1hV2D2SuqOW00hZlb7xcqHRHOM0NVz+oRbVPCoDLTNbtoaxAThTCqLqucEoOVckUzfAIqhzr9TbfZn1cImnd7xV69W34WqRS+Og18DaKtvrdw1jaIMlQGegvTfdX3oeUYp3xlFm+qPF/aFOu7fOKwzjE1Tgo3v2grRe17ybvkM5cVf9GWuc2ZO48eevgxd19bFlzPnD0r4JvEV5mHhVuOl/c8M52XPObDlM80azeoblFQwv/ZeDiNKtLq6SfEx2QYx6BfvnEWPT7ol2im9Hr+Ur/nWT78q9nBwSFxPn68XowMzx7gL/Bu3Gijjz+e684G4pm2/IG51Lnp/WduzJHPko+8Z6Dg6Z1RoPNT7/kX78yOH8TUcPD0v/+pfILe79gun3/+DVq7dpN4PSft9a76AWZi4mIKF292yj+ZTwnKeGnDV8PX5m7TcqyK4ay+p6k+lMNZ0LlypVmc5Wwf9iGmVS3YGIuhv4Vop/ShZ86cp2XL1ggOKif+LMOfVZqaruIzS4CdyPd+OcNb2pPJLqXdytk/6pegMl+pn9kupW99551Z4rOyzkl+dpFnfn1Ie+bxKMTrpVDjAl8rhsvKv2xjJCsxpeMwU3gx2dJEt19974PviPZZQr6n8Q98pAgOnxH+uZZfl8xL+lL5OpVc5fOu9BHyzOmK1VcU4vXNnPgzM38/xWfmqfNhdhyeyT4L0S45njbPxepr9e+Uc7nHTFu2pBgdw2fWhhRuv6HeM60UapKt6J9BQJSzT+++V+zXmRYz/UCMQmVK7HOXR06V44p/Ij6zABpGtJVCqzvzlYXE1DLLbr2mJYJ9Aqrsk8PBzesRe7W4VH9kWtkvIwsu3lengblgogimqWalhdrsbRD1a23jNsr2iSIz1MNxDvcG2jDdGXfOax77VFtMfFMCuGRzlyLYch1G0VYKxp7yuI7iEG25Xyyepvt8L32zaLEryKp7z3I6PqQAK/NwGo6LKtpmq1tUluB/Nr4IzsVBqnkm84vkBA9tLLvmPEQ4Qi1/EcoPEHw4X9YtpdbWNjFLT/4Yw/mVo7NEciw7NAmNSj90DYlZFsyUD/DMbTCYJ8864wcyXu6Iz2x/4JkbT87FPOXSUbDP3DmqOW34avhalWhyr1U/q17z+xq/Nlm05TP8rNkGpLjNZ/YP7Av4AEszr6BQ+dmOv/RUl0c2seS0Jr8r7TSonlKJY27St/JrmA/VRvlesgXL3KwCvjY3bsjlJaA+v8rXJKeAH/Zy0u+i+F/4DJ1e+p7f/8vLK1x/wfYIX5HmE+aKecntunh7Eba3TAxNr3FOjyMzARu+Vv0+OddriLaZx2jSYkabD1HfroClknetpf7mvgiCbQG6kkGQzShoFqAJKBIEQKA0CMTBYeKL5NKwNf5AK79k4h7zNT9E8MEfgvlLPRZtWTSTH3Q5D//hSBNgHvJLO3mWbMEzzSnsFdseP4zxmQ9pl/LMYbDPsDT9XyBLjvIMnuFZqilt+Gr4WpVoMq+lL5C943v+44P9KvtXdaYth6tpZL5SPrMflb5Vnvn9S+UEluEshDmxf5WfTSRDeeZSJEs+m/wERFuHteQjeUiG8vOJDJcM5Zlz62nCjV5ppoKvLc1xt9lrfr+TPwDlcuVrla/l+x38sJl4FP8r3xOlf8H7XJopv//zHx+Sy/nzF8V3LfAVaU5BV+oPn7IxNL3G2T5xZCZgw9fmKtSq+SDaZh6jyY0ZH6Hhq9V0q3oT9e79hnr2rqW+6v3Uf7WVxsJPry1cH8SsUn3GqH+54cI1ACWDAAiUCoE4OEx8kZx8a1MfHmRv+SFLPlCoH3Y5jOP4oYKFXP6gjMNMgDkxOz7A08woW6huZ9L+wDMbOXO8fLDVvxQATzOvsKE2fDV8bVjaxZnO5GfV16P6GpTvc/r7X3H2vHCtZn78xR0fYJkbZ2lrnFt+1svEUrVRmTa3WpOXS4o98otgyUd9DatpwDI3G4CvzY0bcjkE+HWpCrYcmun9Tr43qq9hcEwTCON/8T6X5qVeqVyk/bF/kN+rwFeotMzX8vXJsdkYynh+LavszSUjlAnY8LWq+JrrNURb2GPOBEzL9JqX2c25CmQEARAAgVg4THyRnGxD5A+ycnkZOWuFP9DyB1t+sOUw9QFXTc8PvzgyE2COkhF4ZuaULUa1OX5I4wM8s1HLHM82KV/r4JmZU5QYGw+38LVRiBdXWvU9TL722D/wwa9BDpPLu3GYml76kOLq8cS0ljlJ0RYsc2POXw6z7emf9Ux2mcnv5lZz8nLxa1q+vtXPzWq4fN2DZW7jD1+bGzfkcmbRyvc6+TqV/tX0fgc/HGw1Yfwv3ucyM5Q2x9/BMEs+4Csy89Jj1M8u2RhyXslb/aytl4n7NAEbvjZXoVbNB9E2PSa4AgEQAAEQiCGBODhMfJEcQ8NAk0AABEAABGJDwIavhq+NzXCiISAAAiAAAjEkAF8bw0FBk0AABEAABBJFwIavVcXXXK8h2ibKrNAZEAABEEgegTg4THyRnDy7Qo9AAARAAATsEbDhq+Fr7Y0HSgIBEAABEEgeAfja5I0pegQCIAACIBAvAjZ8ba5CrZoPom287AKtAQEQAAEQ0AjEwWHii2RtUHALAiAAAiAAAgoBG74avlYBiksQAAEQAAEQ0AjA12pAcAsCIAACIAAClgnY8LWq+JrrNURbywOL4kAABEAABOwSiIPDxBfJdscUpYEACIAACCSLgA1fDV+bLJtAb0AABEAABOwSgK+1yxOlgQAIgAAIgIBOwIavzVWoVfNBtNVHBvcgAAIgAAKxIhAHh4kvkmNlEmgMCIAACIBAzAjY8NXwtTEbVDQHBEAABEAgVgTga2M1HGgMCIAACIBAAgnY8LWq+JrrNUTbBBoXugQCIAACSSIQB4eJL5KTZFHoCwiAAAiAgG0CNnw1fK3tUUF5IAACIAACSSIAX5uk0URfQAAEQAAE4kjAhq/NVahV80G0jaN1oE0gAAIgAAIugTg4THyR7A4HLkAABEAABEDAR8CGr4av9WFFAAiAAAiAAAi4BOBrXRS4AAEQAAEQAIGCELDha1XxNddriLYFGV4UCgIgAAIgYItAHBwmvki2NZooBwRAAARAIIkEbPhq+NokWgb6BAIgAAIgYIsAfK0tkigHBEAABEAABMwEbPjaXIVaNR9EW/P4IBQEQAAEQCAmBOLgMPFFckyMAc0AARAAARCIJQEbvhq+NpZDi0aBAAiAAAjEhAB8bUwGAs0AARAAARBILAEbvlYVX3O9hmibWBNDx0AABEAgGQTi4DDxRXIybAm9AAEQAAEQKAwBG74avrYwY4NSQQAEQAAEkkEAvjYZ44hegAAIgAAIxJeADV+bq1Cr5oNoG18bQctAAARAAASIKA4OE18kwxRBAARAAARAIDMBG74avjYzX8SAAAiAAAiAAHwtbAAEQAAEQAAECkvAhq9VxddcryHaFnacUToIgAAIgECeBOLgMPFFcp6DiOwgAAIgAAKJJmDDV8PXJtpE0DkQAAEQAIE8CcDX5gkQ2UEABEAABEAgCwEbvjZXoVbNB9E2y0AhGgRAAARAYHIJxMFh4ovkybUB1A4CIAACIBBvAjZ8NXxtvMcYrQMBEAABEJhcAvC1k8sftYMACIAACCSfgA1fq4qvuV5DtE2+raGHIAACIFDUBOLgMPFFclGbEBoPAiAAAiBQYAI2fDV8bYEHCcWDAAiAAAgUNQH42qIePjQeBEAABECgCAjY8LW5CrVqPoi2RWAsaCIIgAAIlDKBODhMfJFcyhaIvoMACIAACGQjYMNXw9dmo4x4EAABEACBUiYAX1vKo4++gwAIgAAITAQBG75WFV9zvYZoOxGjjTpAAARAAARyJhAHh4kvknMePmQEARAAARAoAQI2fDV8bQkYCroIAiAAAiCQMwH42pzRISMIgAAIgAAIhCJgw9fmKtSq+SDahhouJAIBEAABEJgsAnFwmA0NDTQ2NjZZCFAvCIAACIAACMSWAPtH9pPqQ2Yu1/C1sR1iNAwEQAAEQGCSCcDXTvIAoHoQAAEQAIHEE7Dla3N5FtbzQLRNvLmhgyAAAiBQ3ATiINo2NzcT/0G4LW5bQutBAARAAATsEmC/KH2k/qAZ9V6WA19rd4xQGgiAAAiAQHETgK8t7vFD60EABEAABOJPwKavjfocbEoP0Tb+NoMWggAIgEBJE4iDaMsOlL9M5llA3B78gQFsADYAG4ANwAbqhV9k/2h60MwlDL4Wryu8rmADsAHYAGzAawP8DApf62UCGwEP2ABsADYAG7BpA7Z9bS7PwmoeiLYlLYWg8yAAAiAQfwLshFXHhesR8BgBA7wOYAOwAdgAbAA2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwgWTZAETb+OsVaCEIgAAIlDQBiLbJ+uCBD5IYT9gAbAA2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwAdgAbAA24LcBiLYlLYWg8yAAAiAQfwIQbf3OGx9owAQ2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwAdgAbAA2ABuADSTLBiDaxl+vQAtBAARAoKQJQLRN1gcPfJDEeMIGYAOwAdgAbAA2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwAb8NQLQtaSkEnQcBEACB+BOAaOt33vhAAyawAdgAbAA2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwAdgAbCBZNgDRNv56BVoIAiAAAiVNAKJtsj544IMkxhM2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwAdgAbAA2ABuADfhtAKJtSUsh6DwIgAAIxJ8ARFu/88YHGjCBDcAGYAOwAdgAbAA2ABuADcAGYAOwAdgAbAA2ABuADcAGYAPJsgGItvHXK9BCEAABEChpAhBtk/XBAx8kMZ6wAdgAbAA2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwAdgAbMBvAxBt4yqFjA/R1Yv7aXHFMpq28A/0Lwu/pncrttCGiy00PB7XRqNdIAACIGCfAERbv/PGBxowgQ3ABmADsAHYAGwANgAbgA3ABmADsAHYAGwANgAbgA3ABmADybIBiLb29YW8S+y9tJ1e+eo9+r/nmP/+5KuvaeWl7rzrQQEgAAIgUAwEINom64MHPkhiPGEDsAHYAGwANgAbgA3ABmADsAHYAGwANgAbgA3ABmADsAHYgN8GINpGUizGqK/5Ei3/ppamvFFJ33nF+fv7mbX07pZLdKlvLFJppsRXj35NP8og1npF3D/QK0dbTEXYD2uroGl3v0gb2uwXjRJBYKIJDA0N0etvvkUbN1VMdNWoL0cCEG39zhsfaMAENgAbgA3ABmADsAHYAGwANgAbgA3ABmADsAHYAGwANgAbgA0kywYg2oYVETobaf6sSrrnveO06GALtfT1Ut/IKA3391Lf9RbavP44/WxGJT28upE6ctRuh8+tCinYyhm4f6BZ54bC9oDo5By66+57nb85DZHzzT4pszTQ7LvvpfS9DA9/7qx40W3LtIouqp9zL901vYI6fUU4dXEaeah5RX8y9qWLNkxP9TfVb0+bhRht7odTxxyqJyJxbWybbFGms7/tbkoxFikhPNUOd2xMbXUz2rxw2peuNxdh3mQLarlzqD7VP3UMuRcO41zqjMZAirTcz3994Cd06NARcZ4zd160gpB60ghAtE3WBw98kMR4wgZgA7AB2ABsADYAG4ANwAZgA7AB2ABsADYAG4ANwAZgA7ABvw1AtM0qQ4xRX109TZlRRR9Vdzipx7uobncdPfdeFU2ZU0flZ1KC4lgHHVhSRffMrKeqqLNux5to8ddSjI1w/noLXQy1x61JQOSwXEQzk1CXFWQ6gUksFWGGtmjhQty92xFTnQJTwqxPVE0Jh6qgaxAPRXlqmlQr1fBsoq3TJq84LAXKTHk94VofRRNUUTdNzt6VgYUU9T3CNpEjqEux38Oem+O3BcFDHw/RH3Xc/Pnsdc5bEs+ofejhx6i7p8cbYfFOCsPHjp+wWCqKkgQg2vqdNz7QgAlsADYAG4ANwAZgA7AB2ABsADYAG4ANwAZgA7AB2ABsADYAG0iWDUC0lapAhvNwQz3d91otlV8fTaXopl3z0ksjyyWSXzks95gdpZYdtfT9t+upLsIkWDq9jP4k1LLIfkH33dMZGu8JNolkHGYQSj35TDemskzpMoSZREpyxFcpdsqcHnEzo5Dpz+vJJwvjs163T0zkRN7+ZSwrVS6LlHq73Sr1+kSE1t4wadwC7VyoorSnRA8Ph8NdiqgtWHiEWy8rLstctrfP2Zh62pTnDYu2vBwyC6uFOiDaFoqsUy5E22R98MAHSYwnbAA2ABuADcAGYAOwAdgAbAA2ABuADcAGYAOwAdgAbAA2ABvw2wBE2yCtYaiJPnq7ij5q6EunutBAP07tZSsFW3F+s4HOuqn6qG5pFd23Nvyes6e3fUjePWv94mym+L/Zds6t2XyREt/U2ZJCnPPODtVnWLpl+URFVahzxDhV2HOEUe+yw67YJ8pS6lVmZPrFPq/QJ+KV9G775FK7bpzTPrOQ6i3TJ+JyoR7hMtvyyFp5aqPEtcoqFanz1O9FMqXcFDN1fFyebn1Oeh4HfxwnSsebxsctRhOs0+GpK19bvf0TY+TamdcG0lw5Ty4/FvC1JmsAC7bp5Z/vFfvYSoFV7mkr73mWLC+ZLNPLeLUSNV4KwY2NTWK5ZZmPz5xXlquWw7N9edavnJEr0+Rat9q2JF9DtPU7b3ygARPYAGwANgAbgA3ABmADsAHYAGwANgAbgA3ABmADsAHYAGwANpAsG4BoG6B09FUep+/84TylFkUWKTt215BHrHUF3Boqb1cKaz1LD79ST3VKUNDl8Q3hRVqfeLshTC1ecU20xSfAZWihL51WliZysjg3bfqLpAq5LOa5IqqvvFS9ejlCQJTiniI6mpop8qbSivI1wVDJ4xV/FXE0lUaInvrsUlcQVgoSl05+VVDVU4j6lPKEeKmWZ+ChC696GfVzXqRp09U+qkKov08ecVplpTdWFXd9cYaZygaRV29rupjUGLKoq/JIJyjIFYumUmDlCqRQKsVUec9iqxRT+cz737IgKw8WbNV9cNVydTHWVA+H6els1C3bl+QzRNtkffDAB0mMJ2wANgAbgA3ABmADsAHYAGwANgAbgA3ABmADsAHYAGwANgAb8NsARNsgpcM007ahnr7vCrXKMsmv1VOdu7dsaqbtyiYaDipfiTuyLg/Rdt0xpaRMl5rQyskMYqExty+dVpYWz6Ld7IoKmuYKk8Hp03Vq6VhcdMswCJHpjN6+aO1Rk/G1EETdcvV7vwirp/eWpwiRcoapUrZIq4nRzMcVsDmBaK8y+zhVjioEe9vAnObQhooX0+VodXjTp/oohVItrbc/mZY3dlIJQdbTP23MMi6P7OQX7bpbFZs5PLUntN4QS/equMpFSqFUF23lPafRxVUWb6c9/6JnX1xOw2Ecp6c31WMqV2+LKU22ujlP0o+4iLbNzc3U0NBA3B78gQFsADYAG4ANwAbqhV9k/2jrQRu+Fq8rvK5gA7AB2ABswGsD/AwKX+tlAhsBD9gAbAA2ABuwaQO2fW2+z8cQbbOoHe6etq1jTsrxNiqfrYi1KQF36u62VElj1LI7taftSJbClejCLo/MFfnFNb9o66Rxl3mVIp9PBNXLUgVVjptD9eosWZGfw1KHrzwZ4RUMvTM2U+KobFM6i3MlhMhcZtpK0VTNK2f3OkXrAqi36i6qn1OR7luKs3cmqcpLvU6VZOSh9VdNw31lDnxOCaiijR42XI/sh1OWKwKrrLyd+f/ZexPuOqosXbB/S/fq1e/16lWrVtVLXjYUr+pl1csaXlU2VfmKGrIqCzJJSJIczJSQYAYn2BiwDbaFMcZ4BIzxjAeMsTF4lidkeR7lQbY8y5Jny9bu9Z24O+6OcyPuIMWVQqHvsC4RcYZ99vlO+H468d19IrqNsl8W2650PNF5s0YCn8Y2PB36HZRmX7RF5G3470LF+bvvDaNx6ynaVurbIpzXc5Bwb8mut+2xSManq6vABXkFm+MiAkSACBABIlADAuBF5UhybQ3AsSoRIAJEgAgQgSoRINdWCRSrEQEiQASIABHoIQJpcm1v18VoT9G24kR2SWdTs9w/dIuM317YKLmrTdZ8tFXuf7tjojQAACAASURBVKVR7nttq4za2BZY6TonjbO3yD3Dm6Wxs8YH+7s/lv/c0LNo2xG7Kw6iStE2wY4VDF2VUqEuFA1RtyAkakRpiehZYs/0GwqRntCoEZyRKM9iu2gfgX+RaNawamA3Wmb6CvsPG5RE5hZLEs6cuGlE6oLvrk839mhZqXhesBupW/QRYw38D0TQRWfixhQI4LF9Ort+tKuOpXRuXYkbkxch7ApK6yeJtsU5Km2jvdfjmEakrW/D97Oeom2lvn1f8nidBdEWv7iiYJvHu4tjIgJEgAgQgd4iAH4ET/Z2cUqu7e1MsD0RIAJEgAjkFQFybV5nluMiAkSACBCBrCCQFtf2dl1M0baWO+LUfnlp+Ea5Z3STzG86Jeeu3yq0viU3zp+SxlVN8tDQjXL/B/ultUa91hm6c1RmTOmBaDtlmRwMt2UuN6AYoayceGpNldSLsVUQO5tDQVGCSNCGXaLibWiyxF5YUhCXn5ZFO5bIEBexa8oS2wX+WCG2KBCa9jh14qNGoBbLXP04X2O2Uy62SjiLEW01Khb4RKNwvUhfa9LzNcBxlyx6oug/8sbuwPiLeaEJ4PXEEonrs6yw6uPu/Eh6D23pvRBr281dUSh2ePv9hI6ne+KLnv6WxP41evdFWGxR/OBDD0fecWu99OujrBq71dSp1Lf1I6/nWRBt4QMTESACRIAIEAEiEI9AGlxNro3HlrlEgAgQASJABIAAuZb3AREgAkSACBCB+iKQBtdStDVz1CeL/DsdcnjzbhnR0Cj32PfaDm2Ux6fuljUnOoxHtZ/e2PepfL+maNu3ZPS+61V2VCquxW6ZHGetRCxNsvW0DHmiKMxpBGkkD/ZL7NlOg6hRtxVtZLvfoI4TBCMCZaF+SQRu4KNuH+xaF4TDEtEUhSpMRmwHfSYKwBr9G/Ez6NcKyJG+S97nmoRHwX9rGz4+8XREzA58i+YFXuP/RSzDrZG1MA6LAgYR3xUX64facMfSeyFOtC3NS8ApYjudizREW3jSMGGiPPjQI+F7bSG47tm71zkZJ75qmxdeHuYEXL3GvY0tj5Hi2sUJwOX6doZy/r8sEGafcEzO55HDIwJEgAgQgfwikAZXk2vze39wZESACBABItB7BMi1vceQFogAESACRIAIlEMgDa6laGsQzssi//imKVUKt2/Js5taDQKVTkvFNbQIIh7vde/rjIh11lyJyBpnSwVCu/VvXF6SSFnsUH0qERq1igqJ+m7RREFR+w/GB7EscYz6LtoS8TeKkX2v6dgdF+T8mcJ7eNWXxD7UF4tPYUAqoBobsb5qPTveuDzFKZzfmD5dnWAeo2MyjY3oa+u489CH0nvBF2iD+SyNBK44z9aVXpynJdrCBYinFoup02eEgqx99yzqIakAq21QB2W1iraV+nad5fh/WSDMvHBMjm8TDo0IEAEiQAT6EYE0uJpc248TyK6JABEgAkQg8wiQazM/RXSQCBABIkAEBjgCaXAtRVtzE+Rpkd9x+At5dnLyVsn/efIUmX243Yy+zqclom2d+0vbfEHYTBSB0+4vQ/Z8ATXWNSeCl4qqsXWZSQT6AYEsEGaeOKYfppBdEgEiQASIQM4RSIOrybU5v0k4PCJABIgAEegVAuTaXsHHxkSACBABIkAEKiKQBtdStDUw526Rf+e6HD/4jcxY8rEMmfaW/O20KTJiyTJZdLBVblT1DlsDTm9PnaiXFK3ZW+N90z4p2rNveu+nXmoQ252420fvmO0nNNjtAEYgC4SZO44ZwPcDXScCRIAIEIHsIZAGV5Nrszev9IgIEAEiQASygwC5NjtzQU+IABEgAkQgnwikwbUUbc29wUW+ASOtU916N3HL37Q66hs7uh1vsFXtwBahyyJm5q2W6OJAuC1sJR2zTXTZPllIBOqIQBYIkxxTxwmmaSJABIgAERjwCKTB1eTaAX8bcABEgAgQASJQRwTItXUEl6aJABEgAkSACIhIGlxL0dbcSlzkGzB4SgSIABHIEQJZIExyTI5uKA6FCBABIkAEUkcgDa4m16Y+LTRIBIgAESACOUKAXJujyeRQiAARIAJEIJMIpMG1FG3N1HKRb8DgKREgAkQgRwhkgTDJMTm6oTgUIkAEiAARSB2BNLiaXJv6tNAgESACRIAI5AgBcm2OJpNDIQJEgAgQgUwikAbXUrQ1U8tFvgGDp0SACBCBHCGQBcIkx+TohuJQiAARIAJEIHUE0uBqcm3q00KDRIAIEAEikCMEyLU5mkwOhQgQASJABDKJQBpcS9HWTC0X+QYMnhIBIkAEcoRAFgiTHJOjG4pDIQJEgAgQgdQRSIOrybWpTwsNEgEiQASIQI4QINfmaDI5FCJABIgAEcgkAmlwLUVbM7Vc5BsweEoEiAARyBECWSBMckyObigOhQgQASJABFJHIA2uJtemPi00SASIABEgAjlCgFybo8nkUIgAESACRCCTCKTBtRRtzdRykW/A4CkRIAJEIEcIZIEwyTE5uqE4FCJABIgAEUgdgTS4mlyb+rTQIBEgAkSACOQIAXJtjiaTQyECRIAIEIFMIpAG11K0NVPLRb4Bg6dEgAgQgRwhkAXCJMfk6IbiUIgAESACRCB1BNLganJt6tNCg0SACBABIpAjBMi1OZpMDoUIEAEiQAQyiUAaXEvR1kwtF/kGDJ4SASJABHKEQBYIkxyToxuKQyECRIAIEIHUEUiDq8m1qU8LDRIBIkAEiECOECDX5mgyORQiQASIABHIJAJpcC1FWzO1XOQbMHhKBIgAEcgRAlkgTHJMjm4oDoUIEAEiQARSRyANribXpj4tNEgEiAARIAI5QoBcm6PJ5FCIABEgAkQgkwikwbUUbc3UcpFvwOApESACRCBHCGSBMMkxObqhOBQiQASIABFIHYE0uJpcm/q00CARIAJEgAjkCAFybY4mk0MhAkSACBCBTCKQBtdStDVTy0W+AYOnRIAIEIEcIZAFwiTH5OiG4lCIABEgAkQgdQTS4GpyberTQoNEgAgQASKQIwTItTmaTA6FCBABIkAEMolAGlxL0dZMLRf5BgyeEgEiQARyhEAWCJMck6MbikMhAkSACBCB1BFIg6vJtalPCw0SASJABIhAjhAg1+ZoMjkUIkAEiAARyCQCaXAtRVsztVzkGzB4SgSIABHIEQJZIExyTI5uKA6FCBABIkAEUkcgDa4m16Y+LTRIBIgAESACOUKAXJujyeRQiAARIAJEIJMIpMG1FG3N1HKRb8DgKREgAkQgRwhkgTDJMTm6oTgUIkAEiAARSB2BNLiaXJv6tNAgESACRIAI5AgBcm2OJpNDIQJEgAgQgUwikAbXUrQ1U8tFvgGDp0SACBCBHCGQBcIkx+TohuJQiAARIAJEIHUE0uBqcm3q00KDRIAIEAEikCMEyLU5mkwOhQgQASJABDKJQBpcS9HWTC0X+QYMnhIBIkAEcoRAFgiTHJOjG4pDIQJEgAgQgdQRSIOrybWpTwsNEgEiQASIQI4QINfmaDI5FCJABIgAEcgkAmlwLUVbM7Vc5BsweEoEiAARyBECWSBMckyObigOhQgQASJABFJHIA2uJtemPi00SASIABEgAjlCgFybo8nkUIgAESACRCCTCKTBtRRtzdRykW/A4CkRIAJEIEcIZIEwyTE5uqE4lD5HoGHCRHnwoUek/dKlin2jDuqiTb1TLX7V2xfaJwIDHYE0uJpcO9Dvgnz473ODf+2PEuUvvDxMrl+/7hdVdV3JflVG6lTps8VL5Af/8I/S0nK0Tj3QLBEgArUgQK6tBS3W7UsEwBPgC/AGkn/t+6Ll27Z/6xdVda3ttb+qGrESESACRKAKBNLgWoq2Bmgu8g0YPCUCRIAI5AiBLBAmOSZHNxSHUhMCWAj35mE0HmKjfbUPfXUB3ps+qx1glh+UVzsG1iMCWUEgDa4m12ZlNge3H5YbquGwWkRbn1OrsZ/mbMBXfKpN8Lda/q7WJusRASLQcwTItT3Hji3ri4Cu4VREhRh71933JnKO1q9WtPX5q5L9+o6W1okAEcgzAmlwLUVbc4dwkW/A4CkRIAJEIEcIZIEwyTE5uqE4lJoQqOVhdE2GM1AZY6s2AjgD7tIFIpBpBNLganJtpqd40DhXKzfUwpO11E0bcBWI4UO1iaJttUixHhHoGwTItX2DM3upHQEVYVW0rWRB61cj2vaEvyr1z3IiQASIQBICaXAtRVuDLhf5BgyeEgEiQARyhEAWCJMck6MbikOpGgE82MUvpPWDa92+eP2GjS6CFmVYbPt17YIdZSqOavtPPp0TtrdRPFqONki6oF+56itnA/2pLR2I/tJa/cSxmkhd6xds6QMBtaM+aD+41jLrA8aq+XYs2o5HIjAYEEiDq8m1g+FO6Zsx6veyfRiM73D9jrbf5/j+TuIseIu69jtfeQrtkA++sZyTZNvPx3Wc/XJcVA0nxiHs27RjtuOx+bADXBQz9dXWUZwVC9hC6qmfaBvnq51H1LH9Wv/8vwdwrePTOVb7Omfw9cGHHnZ/y2A+YW/f/gPh3ygYGz7WB7WhZbB1+vTp8H5AucVB59pl8n9EoBcIkGt7AR6bVkRAvy/1+xEN9Psc32N6rt99lhu1TL9r/WvYst/dr7852n3f6ner1vdt+9+3KIcdra/9wb7lAMsNKIP/GBfWoNqHbYs6SUlx0Xb2O92OyeIBW+oj2qFvjFnbapmOX/vQcrRPsq1ty62P1Z7vs59fLQYWWx2Pch189cv9cfl+oF+Ll7bXdsABH8UA51pHbdn7NMkHba92UQ+2/PsD+UxEQBFIg2sp2iqaIsJFvgGDp0SACBCBHCGQBcIkx+TohuJQakIAixq7INKFnl3oIA/1dOHmL4RwrYsyv70uxFEHScv1WhelfntdYGq5LsTQzvpbbrDWL/VD26pd7QdHO+Y9e/dKy9Fj4eJR+287fdrlleuXZUQgjwikwdXk2jzeGf0zJp9L9Dse3/u1cBa8L8cV2o9yRzW2ta4iU86+z0V6ncSJajPuaDHQcvUfPiDpA1HlNMt99lzrWl6EDbXTGz/Rdur0Gc4f9VnHi0zfD9THOHzfkadlaI92SGpT58H3FXXK+eC3xzXq4wgfLCb+tXOA/yMCvUCAXNsL8Ni0KgT871j7PYYyXCPpd6f/va/ftVqu12gHsU3bI9+/1jJtq7b1e1evbf9J9lHXcgeu0Z/Wx9GWJ4GjfStn6He98o79zkcf6qPPr/6Y9FrH7NdHfpJtbav+a1sdm16rL/AZbZCPcWg+8vCjJRwrJfCy1oNvFku9tmPR/uCj9qd+4Ojj79tAG9sH/OuJD+jLjtm/rjRulg9OBNLgWoq25t7hIt+AwVMiQASIQI4QyAJhkmNydENxKDUhgAWTLlLR0F8ExhmLW3T5i0pdvKG97cO3jwUfFqy6CPUXWujLLmj9BWCcf5qHftUv32f1yy9XP9SG+mfHo2U8EoHBhEAaXE2uHUx3TP3HarlFv6vxXe8n//vfcgPq2mu/rpZbnrT2/frWJ61XjX3lIh2HcpHPiWoz7hhXF3Ysh2odHY+Wa2SS4qf14LsmlKXhp9rTo/qAsft/I2gd9Uf91nwctY2Pmdb1MbVt9dz64M+p1onrK26+bX2eE4FaESDX1ooY69eKgH4n6vd90veY/72r7fS71l77deGTlms/1k+/vl5bztH26E/L9Xvd2ld/0FY5CuXo1/Kf7d8/R1u/rvZpfYJN7cPyBuz59dV/Hb9yFez5ddVfta1tdWx+fb9vHY8/Zm2ndrRepWOcrxZ7bZ/kB8pRpuPBNXyzIr4/X2pTj9X64Pel2Cnuao9HImARSINrKdoaRLnIN2DwlAgQASKQIwSyQJjkmBzdUBxKTQhgwWQXYXaBZA3pog+LLf3oYsguuuLa2z78cl1Y6WJS+0EbJC23fWmZ9S/u3PoVt6j083CtY7N96CITZRaruD6ZRwTyikAaXE2uzevd0T/jwnezPmTF97d9OKhcot/pOFoesXUtV+j3vdbFyFBuv/sr2bZ1tb325/MOym2ech7ykLQvy0muIOZ/cXXt2LSJzUM/FiPtV7naluFcx9EbP+GHb1/n0berPmv9OBy0TH1XHHQeKtnUMaoPsKPn2r89wgfYxs4bwEP7tXV4TgR6igC5tqfIsV21COh3JL7L/O9P2FAe1O/GpO9S+92qNrUu7Gi55dMk29refsdre3zHqp+23M9DmXKUjqPcd7nFS/vXMcNPta95etQ+fK5QG+qj+q/jV3so13O1qUe1rW2VX3zb/lh1LKivtuxR7Wi9pKPf3vqq47Jtk/xAHdjS8eBa517xSGpbqw+wrXjBtt+v9ZfnREARSINrKdoqmtwe2SDBUyJABIhAvhDIAmHyQXK+7imOpnoEsGCyC2xdRNqFmS6ENK/coiuuve3DL1fbWGAh+YtS5NnFm138VRol+tX6vs9oa8utrbi6KPd9tW14TgTyjkAaXE2uzftd0rfjUz7Rd6grR+l3tV773+n+d7+99utiRChXnqzGttZVNKqxr1yl9stxotr1j0n8aR9aax31UfkVPuJc62o95Mel3vipGOsYbb86p36/6o/6bX3SNmrPr+v7irblfNAyHOMS8oET7judt7h6zCMCPUGAXNsT1NimVgTwfYnvL7wzVb/3YQPfvXpd6bvUfrf6dWFLy/W7tJxtbW+/+7U9fNVyywG2XH2338n6XY16tST4ADunz5xx3G99snYsdyFffdT66p+OX7kK5X5daxfn2tbnNbXt963tezpm9Ufxi/PVYq/9JfmBcpSpPVzDNwjJigfGYst76gNsa1u8Uxh+Km7qJ49EwEcgDa6laGtQ5SLfgMFTIkAEiECOEMgCYZJjcnRDcSg1IeAvmOwiTQ3FLbKSFl1x7dGHLvT88kqLUpQPefJp94tk9afaox2bLubUD79fjFEXkbYM53iggeT7Xq0frEcE8oBAGlxNrs3DnZCtMSi/4MGffofXwlkYjeUK/Z5XrvCva7Xt26/ERZZ/0Fbrw8dKSeuq76iv/mt733/7wFXranu/LuyjDlJv/LR9qs8qEsA2fLXX6BP10M7+7aH5asMfo47D9xV9lPPBxwH129racHBJ+4Mv2qeW8UgEeosAuba3CLJ9NQjgexHvOlWRC99r+t3mf3f61/j+RPK/W/3vaHtdybZfHmff5yR8/1rRz79Gfcsl5XCZPWduyG+WH/w+4afPg8oDiodeK5coXoqHlldjW9sqPtrW70v90no6ZxizcmW58auval9902v1HfnWZpIfqIO6ir/6ZTkctu389dQHHZf6rH1qPo9EIA6BNLiWoq1Blot8AwZPiQARIAI5QiALhEmOydENxaHUhIAukLCIwgLvdGG7P12kwZhdaKEeREz7gNwuutSebY9zXTz65brYS1qU+n2jf3y0frnB6uJN+/ZtqY9+PuxrGY7aJ45qq1y/LCMCeUQgDa4m1+bxzujfMen3vH3w53+n+5ylbfT7HN/ztr3yEr7zkT91+ozwu7+SbeU4yxe+fd+G8g2Q1L6V47SurVMOcW2P/rWN9Qn5aht2cG4fcCo22lav0c6OSftRW7X4af1B38H8POzGrmND/9qn9Rn92fw4P5GHj86v7yv6qOSDLUd/FiPFDfnAh4kIpIkAuTZNNGkrCQH9zrbfr6hrv/PxHao7WaC+bYN6cd+t9rsb3GnXi+Vso2+1B59gR6+VZ3z//O9ltLFcjv78OnF4aD/oVz9oq8n6jXLlFt8f/MgYH/ihyXKWYmnLk2yrTzp2xd621Trqs45d62o+jnY86pt/tL6iH/1oPVsOm+pLNX4o1+OovqC9+hzXh/av/aBOkg8oU96286N2eSQCPgJpcC1FW4Nq7hb5XTfl7InTsnDHMXlz8yEZsvmovL+jVVaf6JBbXWbgPCUCRIAI5ByBLBBm7jgm5/cMhzd4EMDizF98YfHm5w0eRDhSItA/CKTB1eTa/pk79koEiEC6COChs/+wOd0eaG2wIkCuHawzz3EPdARULLUi40Af00DyX/HHswMmIlAJgTS4lqKtQTk/i/w7cvXESXl700H50fr4zwObjsqKE9fM6HlKBIgAEcgvAlkgzPxwTH7vE45scCKAha99MKq/on17XIMTbu2viPWcgu7gvFc46voikAZXk2vrO0e0nm8ElP+U6+wxSw+JB4qfPb1b9MFwljDv6VjYLnsIkGuzNyf0aOAj4EdoKn9WE4lb7eizzg19gUG1WNWjHn5MleZ81sNH2swOAmlwLUVbM599s8jvks4Th2XW1K1y/4sb5Q+eDT7fG75VRiw7LIc7exsCe0fO7j8qv0gQa6Mi7iF5e3+HQYCnRIAIVIOA/rHEX1hVg1Y26mSBMPuGY7KBN70gAgMJAf1O18U1jnxQOpBmkL7mBYE0uJpcm5e7geMgAoMTAX3ozR+HDc7574tRk2v7AmX2QQTSR0DXrFynpo9tOYv2h2K69XK5+iwjAkAgDa6laGvupbov8s+3yKTRG+We17bL9LWt0trZIZ03b8mNKx3SeapVli7cLv8+dKM8NKdFzvVQu7119HiVgq1G4B6SaUdvGhQqnO5oCPfgv6thV4XKNRSfWSJD7n5aFp3x21yQRU/cK0OWXPAL6nZ9fsnTxTEW3jmQ3H/gn33QO3ZHPVzbJWPN+w/uisWq+n5LxljDXAZtG6S5pLsCFjXYEqkGv8LYS+wGbeuDd3Rw+scR5hm/rFq3boM78o+lKE5ZvsoCYdadY7I8AfSNCBABIkAEiEAFBNLganJtBZBZTASIABEgAoMaAXLtoJ5+Dp4IEAEiQAT6AIE0uJairZmo+i3yu6SzqVnuH9ooozafC3q8c0GaVjXJ4681yv0NTTJ/T0GU7Dona2Y2yj3Dm6Wx1qjbrnZZ2KhibA3HxlY5WZVIHIhnUQETeXFiqwHWnDY3FF+8ftfdRvirRbR1dY2dJ5bIedMHTiP9JIh9odDqtXeiZCSvIBpG8tBLjJhY8C2KkedcrZdxNgvieU8EywAbg70KpyXjS3I0GHdp33H5MRiFZmPK4saqOJfcZ30n2uIXz3brzHAIKZ6oMMxfbqUIqjGVBcKsH8eYgfKUCBABIkAEiMAARSANribXDtDJp9tEgAgQASLQJwiQa/sEZnZCBIgAESACgxiBNLiWoq25geq1yL+xq1nue26rzD91q9Bbu6ycWNwaWbdIfnZ9e6H8lrSu2CrfeaVZmq4bByudthyXB6raFrlU0J3WcqeS9VCkjIp1EN6qEW0LEZVGGHTiqAqqTqyLsxO0C0XQknoFu2pHRKKiq9deBV1T34mY5jraXmEJBMbQD7VjxqM1pcTHsKRHJ75/oREn3FrxNSxJPnFtqsA52YIrifXJ88fhqNHBBl81HY+zSCl+wL5BFiECOmInmNvo/ajW0z1CtK33FlUUbdOdM99aFgizXhzjj5XXRIAIEAEiQAQGIgJpcDW5diDOPH0mAkSACBCBvkKAXNtXSLMfIkAEiAARGKwIpMG1FG3N3VOXRf71ozLqlUYZtauz2NOBXfLXhXfZqmDrji/vkr1hrU5p+qhR7pvXGuZUOjnQfEii76wtFWeTyn/WfLGC+UJUpIpwiJItRHuGEat33yuJApon6JV0lih0loquftuo+Bf4GfEj0neM0Of6LoqfUXvF3pxQGYq0pSJusWa8z6694ufZiYiRzt+CsOp8S8LVG2s4DjtXUYE2OoaixzgrjjvwP+ITKhhfinWLNmKFXLUbEVvRphb8UBfj0KP2GTOXWpTiUd8rpPc5rlVgxTmSXiNKFlsm27q+K7ZcheCWlqNuu2Vth2NcP7Cl71PQiNze9u37l9frLBBmXTgmrxPGcREBIkAEiMCgQyANribXDrrbhgMmAkSACBCBGhAg19YAFqsSASJABIgAEegBAmlwLUVbA3w9FvmdG7fLH7y1XwqbIrvezq3aIhGxNhRwt8j8s8ah03vloWebpclklTvd3VS9SFsi3jZZD5N6CYS2iCDqhLyoMBjX2ol8JcKdqZloJ14ADVsaIdHlueuiAFvMK/rofDHRwb7YGCdIOjtW/PX7DR0KTnxxtGwfkbF7GFsB1+sjfB+s4lrwyW47HfUjQYxVu7aviE9BhQguJeXJAmrs3Bd8jdxL6kdJFHNRrI34UNjWOcmGMdfrUwioKrDCmAqlvmgLsVXFVBzx/lsIspog2Nr34Fq7vhgb1w/y/HrqS2/6Vv/yfMwCYdaDY/I8ZxwbESACRIAIDC4E0uBqcu3gumc4WiJABIgAEagNAXJtbXixNhEgAkSACBCBWhFIg2sp2hrU67LIj4u03dUs3wmFWrNN8nPN0hTuUlyItJ19VG4YH5NP78i33/ZCtP3WqsVJvXiCIqqViHfxbSEeYmthJyJqtKmKjWXtxIu2TrxzdjyB1gqroStF0U+ziu3vlbvCqNegNCoMagsRsbYrjDtiw9X1/HSRpp6Q/MQSacYWwNYf26dxRU8jYnCcT5H28Viqrehc+nV9UdYrjx1jYNlhYeca2XG+ho7YqF9k2vmz96DvkzGQ8qkVV2FahVJftNVr1PHFVYi3Q5582uWre6iDPJT59eP6ibPr+xJXp1Lf6k+ej1kgzLpwTJ4njWPrdwTa29tl/PjxMnLkSPdZuXKl8wn5EydOlCNHjvS7j9U4gO/JKVOmuDHMnj27miYldTDWDz/80H3/lxQygwgQgVQQSIOrybWpTAWN9CEC5Noi2OTaIhY8IwL1QoBcWy9kaTfLCJBri7NDri1iwTMiUC8E0uBairZmduq1yA/faXu6K+jtzhmZP9aItQUB97FVZwredEnrqsI7bW8aByuc1nd7ZHRuBbOCMyXiW1An3Oa1INapWFuMiowT/YoiZnGoXr1iQeGs0J+KghGRUitH/Xa+OGE0sA1f7btqI4KrmtBtfrEtNPLcuJO2LZZAnFbxtshRtQAAIABJREFU1fl0b7hlboiNifZVbO+K5KlQHIcLnCj4r2MvmQttr4KxV9+MzZ06P01fuNYxONtqJ2hocbLnvtlk0bZK/CKirRV0g/EU7ym/5/Su0xBtEXlbnPvi/aDRuPUUbSv1nR5S2bWUBcKsF8dkF3V6NpARUKGzqSnY7wPXEC2xyKu3aIs+R48enZoo7C9MIdxCxMWYqk2+jbh2cXbtAwII4LhmIgJEIB6BNLiaXBuPLXOziQC5Njov5NooHrwiAvVAgFxbD1RpM8sIkGujs0OujeLBKyJQDwTS4FqKtmZm6rfI75LOpma5f+gWGb+9sA1xV5us+Wir3P9Ko9z32lYZtbEt8KTrnDTO3iL3DG+Wxs6CyGt8LHvaclweWN+zaNtpLWGIb5kuouKnqxgnFMZYgFBqhVFUiQp9MbadnSqEOSs2xoiLkajOSuUlfhUHUxR7kRf4648pqB34rGXRcRbtRc6cXxDyjGiKCoX8eGHSw8zV9do7bIpia3QMEQ+8+UAZ7Af2koXXwHbc/Kr12LY14Gf9CGzqPaFH7al+xzREW9+G7209RdtKffu+5PE6C4RZP47J44xxTP2NAMRFCJtxIiPyBlKkLUTgWkVaH/9Ki1sItohI9vtBvkYop+GH7xeviUCeEEiDq8m1eboj8j8Wcm10jsm1UTx4RQTqgQC5th6o0maWESDXRmeHXBvFg1dEoB4IpMG1FG3NzNR9kX9qv7w0fKPcM7pJ5jedknPXbxV6vyU3zp+SxlVN8tDQjXL/B/ultUa91hnqapeFjT0QbRtb5WRV/XkiITqNEwoNpnoaJ1xG86JCp7aryn7EhxgfrXBpo0fDTqJton5ppaCOCrHIja+n0a1GPI34p/bssTj2OJtOaNVoWtPM1dXIX+TH9WPHnlTH2SwdH7LRx5Alu2TRE3FRsSqaoq0Zr7NX/J/zM8l/jeQtVi9sQ23txdgvzOOihji/rLF0zn3RE7/UwztukY/kXyPPF2GxRfGDDz0cecet9c6vX63dNPq2fuT1PAuEWXeOyevkcVz9hgAEx7iIVxVtly5dGm6djLqasBBEO4iYtr0vWqKNtrO/gEZ7iMLoRxfZa9eurdiXbuOsNuFPnC8QUbWOLlp1LPAR5daWtYF8FWF1vHpUWxgLkuKE/Lhrlyni7KF/CL4ajQv/4Isme41z4KFbV2sb1EUb9d0XkNUWj0QgqwikwdXk2qzOLv1KQgDf6ZYrtZ5yiPITvttRV5PlJtueXBv/wzJwN7lW7x4eBzMC5NrBPPuDd+zk2uBvCPu3A9e1g/ffA0defwTS4FqKtmae+mSRf6dDDm/eLSMaGuUe+17boY3y+NTdsuZEh/Go9tNbR4/LL2qKtj0k045WuwdzIOxFoz7j8uL8DuoVRc+Ydk5gtGJdIAreZQS/EqFStwg24p+rE14XBdHAK9+PgvhqxM9oe7QK2oRbBYfDi8l3wmlpVLETXk0f2Nq4eceFwFJEWC31T6NtLQ7B+3W9fqoRbaWwdXNEZC3gHGIWDjCM9L0r4nuxPBhX6XuBizUK+Jo5LJYl4xcZq4n4LbYt+Hz3wBFt4XvDhIny4EOPhO+1xYP9PXv3umHFia/aBgKxigCwgW2WseUxUly7OAG4XN/OUM7/lwXC7BOOyfk8cnh9j4AVAVVExINkCIX68BiLPyuy2ihclI0bN65kW2V8dy1YsMBtuQx7+EBkxNG3l9QXbKCN+oWj+mSRQr4VMH3RFg+7VYi1fsAGxFH449uw9vUc9ex7b31b8Fe3mNY2OKJv+8AdeRiHjsu/RpkKtRYD3z7aWxu2T54TgSwikAZXk2uzOLP0qRIC+K7WH9zo9zY4JIn/UEauLf5ASv9+AM4+Fyr25FpFgsfBjgC5drDfAYN3/ORarmsH793Pkfc1AmlwLUVbM2v5WOTfkbP7j1Yp3B6St/fXIhIHIltUtFXRM3hHZ1GUNcCGpwWR7u4ydZ2AWXzfZ1S8CwwFwq2pEyM2hmIi+ioRDKN++IJkiX3vnbfhcAonkb7KiIh+vSENu+R8YbwRTOPyVDguYAfRLtIGvlQp2jq3q8A5GF6pcF4YdnAo2Cmd96KoGnmPa8lcldYrtYX5smJ+wYOCQF6CQ8TBdC7SiLRVT1R0VVymTp8RCrL23bOoh6QCrNZHHZTVKtrCVrm+1b+8HrNAmPngmLzeIRxXJQSwyFVh0X9YbK9RzwqksAuRUUVRFSMhcEK01Wu0wzmSL9raB9O2L7WNtkhxfcflw5e4vpyRgr86Vs1Lsq3lOPqirR0Hyss9SFZ/1J7iEneNMsUT5fYa+Xjwr5hoex6JwEBAIA2uJtcOhJmmj0kI4Ltb+cfnO3sdx0mWC5RDyLVFpC33a67iFHdt8US5vSbXKmI8DkQEyLUDcdboc5oIkGtL1+s+vlzX+ojwmgjUhkAaXEvR1mCen0X+Hbl64qS8vSl5q+QHNh2VFSeumdHzdEAg4ETSGAGzbs7HC/Wpd9eHAmzqvtPggEAgC4SZH44ZEFNOJ+uAgD6wtA+O0Y29xiIY9WzSdsjTcjzwxDk++iAV50hW7LS2UeZfoy4ecEOo1Afdzoj5H+xaIVn78/syTZzAijZq07dh6+q5v7j1ffWvtZ31R/OAmeKBPHtt8dQy2LAJdSjeWkR4PhAQSIOrybUDYabpYzkE9Dve5wx7DX5APZu0HfK0HNyAc3yUa3CORK6NciswAYaKj8VTy8i17tbh/wY4AuTaAT6BdD8VBPQ73nIrDNtr8AHq2aTtkKfl5NoiQvq3RjEnyq3IB4bkWosQz/OIQBpcS9HW3Bm5W+R33ZSzJ07Lwh3H5M3Nh2TI5qPy/o5WWX2iQ25V9Q5bAw5PM4NAELHbIM194FHpVtH16zSIcO5LQbp+Y6Hl7CGQBcLMHcdkb5rpUYoIYCFlhU67gLXn6NJe23OU4aGwbo+sdbFQQ5Qt6uKDLYPRF+pqm6Ttln37sKPtXOOY//ljsYtJ+9AaTWF/2bJloRVdVKKe3fo4rGBO4ur4C3uLqTa1/miebQe7EI8rLW4RyYv39eGIBLv4MBGBgYJAGlxNrh0os00/gYDPT5bj7Dnq2mt7jjLwBLk24DsfU73TyLWKBI+DHQFy7WC/Awbf+H1esBxqz4GMvbbnKCPXFnd78jHVu4pcq0jwONgRSINrKdqau4iLfAMGTzONQGSr5ZIth3vvenGL6L4Rh9XjYr/Y/rpv+1YfeMwnAlkgTHJMPu+tvI7q1KlT7mGyvmPPRm36C1j/WkXGuOhXCIoQLlW89K+BJ9pXK9piwWh9tH7q3PiLSruYtH2hfktLi/NNbfp+Ih+Cqk12vNpOxVIdH/L1PbS2Lc6tP1pmbcIHCMYYB5IVdO11W1ubK1MfkvrTPngkAllDIA2uJtdmbVbpTzkEyLUjHYeTa8vdJSwjAukiQK5NF09ayz4C5FpybfbvUnqYNwTS4FqKtuau4CLfgMFTIkAEiECOEMgCYZJjcnRDcSiZQABiMR704qgJwqYvqmoZj0SACGQbgTS4mlyb7TmmdwMPAXLtwJszekwEyiFAri2HDsuIQP8gQK7tH9zZKxGoFwJpcC1FWzM7XOQbMHhKBIgAEcgRAlkgTHJMjm4oDiUTCPhRsnDKj0LNhKN0gggQgaoQSIOrybVVQc1KRKBqBMi1VUPFikRgQCBArh0Q00QnBxkC5NpBNuEcbu4RSINrKdqa24SLfAMGT4kAESACOUIgC4RJjsnRDcWhZAYBf3tk3ZY4Mw7SESJABKpGIA2uJtdWDTcrEoGqESDXVg0VKxKBzCNArs38FNHBQYoAuXaQTjyHnUsE0uBairbm1uAi34DBUyJABIhAjhDIAmGSY3J0Q3EoRIAIEAEikDoCaXA1uTb1aaFBIkAEiAARyBEC5NocTSaHQgSIABEgAplEIA2upWhrppaLfAMGT4kAESACOUIgC4RJjsnRDcWhEAEiQASIQOoIpMHV5NrUp4UGiQARIAJEIEcIkGtzNJkcChEgAkSACGQSgTS4lqKtmVou8g0YPCUCRIAI5AiBLBAmOSZHN1RKQzlx8pScv3AxJWs0QwTKI3Dj0hW5sOeYSHd3+YosJQL9hEAaXE2u7afJy3C35NoMT04OXSPX5nBSczYkcm3OJjQjwyHXZmQiBokb5NpBMtEDeJhpcC1FW3MDcJFvwOApESACRCBHCGSBMAcLx1y/cUOmz5ojo9+ZJK+91SB7Dxxyd9KVK1dlwpQZcrH9UsU7q7u7WzZvb5JXRo2VYa+/JavXbRDk1Zpu3Lwpk2fOkhdfG+0+z7/6hoybNEXOnDsvv3/zbXnxtVEu/+2Jk+XsufMl5i91dMjUjz8VjAkJi9ERY8bLUy++KrC1e9+BkrxPFy6J2DneelLwiUufr1wtGzZvdUW3b9+WRcu+CH3dvmNn2OTYiZPyxrh35eWRY2Tce1Ok7cxZOXr8hAwd/mZY/4MPP5HOy5ddm6/XbQzzf/fKSJkxe57LB/ZoDzxGv/Oe7Dt4OOyjlhPMBeYEcwO/4F+5lDQ2zM/4SVPlhRHBOMZMmCQdncEY4uxhHqZ8NLvkHkL+2Pc+CO18+Ol8uVGYszg7/ZXXde2GbBr2oaz4yRhZ9i+vyZltB50rncfOyLpnp0jX1eA+q5d/F3Yfk80jPpHbN7tcF9fOXpKvfjFeFvz1UNkxYYnc6bpdtutD89e7uqg/50+fksZXPxaMac2Tk+Ti3uOu7fXzHbLhhempj+XUxj2y+O9/7/rf+OIMudl5tayv299eEPo6+57HZd/HqwW+ffVYg1w93e7awuctr3/qfMcRYjYw2PbmXDmxeoergzHP//7vZNHfveTaIxN2Ft83TBb81fOuj1WPjJMrJ4PvD8zv3O894/Lh74mvmpydpPw9M1YKPpq2vjlHLhSw1Lxqjr5Pe6Z/6caC+QFemOuBkNLganItuda/18m15FrcE+Ra/19G6TW5thQTm0OuvSn6AJlcS661/zZwTq4l1+I+INf6/zJKr8m1pZjYHHJtkWuVc3tz/N8suAP5fLD84TGQ54i+EwEiQAR6gkAaD4J7Q5Rom3WOuXPnjly81CEXLraX/Vy+cqXsFEBM/HjuQieyXrt+Xa5eu+bqQwCd8uEngrxKCTZmzp4nEPvwmf7JXDnUcrRSs7LlEBoXL/9StjU1iy/G7tyzTz6as6CkvV9PK8yat8iJpnqNY1we8hcsWe4+tm7SOURM+AkBGeIkrm/duuWE49ZTba7ZpY5OJzoDI/Sp6as162XF6jV6GR7nLFoqGB+SPcc8QITuSYIvwAtzc+bsOXd+89atsqbixgaxFaI4cK4mJdW3+cBv+aqv3VxXY7OaOhA5sXio9FExNMmmioQQB29duS63Lgf/Nmx+UtvU87u7pWn8IjnbdNiJlbunfCGnN++vuptvxy6Utk17nWi76tHxsv65qU4kBEYbX57p8qs2VqHilVMXnNiteLU17gsihiu0QzHmBP5cOtzm5g/i685Jy9yYgTsEWj1iXvZ+uMp9bDQyxrTy4bGuPWz6YwQOW0bOdt6oPVfvQqd88/h7cv1CZ9iPn4/+IIJfbg1EX9veGazyf9YnCM9bXpstx77c7uYB40f5QEhpcDW5llxb6V6P4yNybRE1y6nFXHE/YFPOJtdaZMqck2tDjiXXlrlP+riIXFtc63JdG7+G5bqW61qua2+XrPnS+KrmurYyilzXUrSNvUuyvsiPdZqZRIAIEAEiUBGBNBaneRdtjxw7Lh/OXSjTZ88r+1mw7Au5ei1eeG3evVcmTp3pImRnfjo/jMCEOPjq6HHy1AuvuOhWRL/ioWlS+vLrtfLtzt1hMc6XffmVu0YfGoH73rQPnbgJYRjRp4jkRd6ED6aXRGNCaETEKcRFX4xFNPC8xcucfY1GRVQrIobfn/FxGGmrDsUtZOPyrl69JtNmzXFiNc41aSTsMy+PcL9K1nw9wlc8GMVDZAijMz6Z66J6tRxHX7Rdt2mLfL1+o60iHZ2dMmn6R+6Igs8+XyFrNzZGopbxcBa4YU4QOTvirYZw3iDswg9E5iIKFlGxiABu2rk79BvzCJyAG7CFMAw7aINfXMN/m+zY0Pf8xZ+XCPntly7JBzNnhfkn2047u+oP5g/n+BHAoSNHIw+S0Rfaw2/USSMhEnL6f3qo4sdGTPr94he1a55630WLbh4xS9oPtLoqp7fsd5GZs77zayfeIUK0bOrulkML1rtIz8//daR888R7cnLtLidCxuaLyKVDp2Tp/cNdP4gKRfSli8A0Yh782zM9iPiEbyseHO2iS9c/P00Q/WkTRMh1z3zgxEjYgfiLSFIIwHaRBb8UE9sfREVEvn49ZKITQ+G3E7IvX3MCK0TML3/6lnz12DvS+s1ON96jy4OIdOvH7Ru3BOIxhFi0QV/dt+/YKk6sReQv6sI3iKK4hkiqD5D1iOhalPsRx2hXTrRFxHRTw2euXyu6YtsuRLnimJSPSF7gt2vycodBWK+7W46vahII4qt/NUGaJy4N/ErIt7jDEYwJ0cNdV687TFEO0RtjP9fcEsEoSxdpcHXW13PkWnItuTb+W4dcS64l18b/20g7l1xbXOtyXVu9aMt1Lde1+l3Ede2NcH3FdW1xvct1rf4LCY5pcG1vn0GjPSNto/PCKyJABIgAEcgYAlkgzKw/SIYwNnfxMvlkweKyn89XfV1WcPXFRL0VfKFU8+OOvgCqNiEQIooXYiQWjtgGF0cVC5GPtHPPPlm6YlVoGsLh7AWfyf5DR1wefClujzxKRjVMdEIf6sE+hEUkCKFvvzu5x6Ittk/+cvUa5wvO/QRREx9NEGnnfbbMCZ42ChZzg62mId6eO3/BVQcmuj0ytheGWO2LlOjz04WLQ5EWUboQXhven+aibBEpA+EUY0SkLtLho8ecUA1MIZCvXrvB5W/csk3wQULUM+YIeOEDYRr+wF7n5SASWzFHPlLc2DAPr44a67Z9fmnkaNcXbOADHDS6WvvW6J9Tp884H3fs2uNsaz7sIfnXLrMX/2tZtsWJghAGy31Qr1xScdCvk5Tv18P1+Z0tTkTFAhFCJAQ9iKNJ+dYG+sFWxhBQIW4iGhNbJiNBeMS1CntX2oL77ODctW5Rau1AaN7+1nwnMsJW87tL5Oz2Q06ghBiqkbZJoi0ieg8vCu4rjAHbLONXx3gAgP6QINKqUIsH+U6Ytk7gvLvbCaI4BR7bRs9zYqWtBkFYbUK4hPh54usd8u24RRHRFgL4Z/cNk0uHSrf6jhNtw+2R/+p5+eKBUXLtXLD9sN0Gef73n5NT64MfnyTlY3EL7BCp3HGkLRR3cb5z8udujBgnhF3McVK+L9rqNQR2zEfH0TOuD/XHYpSl8zS4mlwb3da/3PySa0dHdpwg1wY8rxxKrp3juIVcS65VDlZuxd8+SHpNri3HNP1TxnXtJbdG47qW61r/XyDXtTMjkHBda177w3Vt5N7o7UUa61qKtmYWsr7IN67ylAgQASJABGpAIAuEOVg4RgVWf3qSRFu8A1bfOavvg63mQTK2s8IWyhBtYfvN8RNdxCcifPFBRKkmiJdYtEJIRLK+YFvoTVu3u0jbzs7Lrq2KnxgLIofxANMm3z+UxeXhHbWwAfFx/pLPrQl37ou2WgHRo4h8tf3Cz2+bd8nw0eNka1NzJNIW40Iksh9pa7dDVtsQRCHMQqjGNsIYK8ao4iquEcEKjKxoCwFbRVvtD/MGMRmiL+ojYXvtxV+sdDi+PnaCi8rVvnG0Y8OYsL0yfIJNzKf6AeEdkcEQe7EVM8Rq4AFfMddzFi0JxWh9wKw++Ne2//48TxJn4/K7rt8URLmqSAxxDwkRqipm4nrbqLlO0EzKt+O1oi3yIeSteGC0LPyfL8ryf39D9s/+RtoPnpTNw2eFEatYyEJUtUm3RkaeirbY7hlC7pHFmyqKthBh8W5ZRBzjA7EVIrEVbVuWbg7HaUVbfVet4oH30+76YLmz8/mPXo+Iu3ZrZPiKh6sQbfEAHhGnR5Y0hiIptjGGwLv1jeAhvR0v2iVF/3Tf6ZZjK7YFkbbd3aE9tHfvdHrmA7lx8XJiPsaBecEWy8APUc24hkiN8ShGGp2dlK8PjuMeJEOo/+I/Rsm3YxcEIrAdXMbO0+Bqcm28aEuuLf5ASm97y0eaR64l1+JeSOLUpHy9f3Ak15Jr7SsW7L2RlXNybfUzgXUJ1nh+smtJW0auJddyXRu8fsb+u+C6lutarmvT3fK4FjGXkbb224jnRIAIEAEikDkE0lic1kKMcXX5IDn+QXLczQIxE++e1QTRFQIj0obNW+X5V99wW/Biq14kLJyT3pcLAQ9bHGv0rNbH9rkoQ4Lwizqn2k67o0aLYqHeU9EWUb9jJrwfbo/8xrh3w22KXaciLsrWRtpqvgqYx1tLo/5Onz3nIm4PHWmJPESw78G1Y8JWwXEJojfem3vu/MVE0fbKlasy+p1JTlSPi+TVfjTi+diJ1sJ2zJddl3jHLrZStqnc2ICF1secYI4w9xC/sQDGfGE+EGGLLZ0hPiP5Ii3GjK2wy23BbX3qq3M8yMX2t35Kyvfr4dp/YAxBFUJeUr614T9ItmUa2eqLthBSESWq6WbnNVn3uylhZKmKtjgiChTioEbzwi8Irkgo13erIg/Rrn662XFVVvxkjBOq1/52cvjOX/jmtlAuNFC7F/e3yrpnpzhRFEXAAGWarpw874RvK2RCtEVCtC+2jEZ0seKPaN2NL80UbJNsUznRFvWACSJl/XfXogz9AcNw2+OCYc1X0RZCMrZSXvZPI0LRdve0FdYNd47xxeX7oi3GBIEbY8d8IMIWwrRGVpcYzkhGGlxNriXX6q4belsn/UCqHB+Ra8m19gdS5FpyLb5PyLXFh87kWnItuVbCHx3Hrdm5rtW/wpKPSevXpHxrieva4AdSwITrWntnZOc8jXVt3HPlWvMo2mbnnqAnRIAIEAEiEINAFghzsC9usbCDMAoxDpEs+CQliKUqEuKhKn7hjGhVtMH5kaPHpaPzcmgDW/ni3a26/THadHV1OfOIDl20bEUYlYlM/9fReDgLMfDy1atO7FM7dnvkK1evCj4QCAOxM9g+VsfgR9oiUhRbI2tC1CjybLIPkuFzy7Hjzk8IqhgPxEfkb/l2h9sCGm3hG7YORl37y2+8lxfbJ6M+0oHDR5zoqdcQPRGpizEgIcIV9TsuX5a3J04Oo2ghhGK7Y0S4IgppwdLlDi8VuNEWtvAeYSSIqguWLHfn9l23qP/OB9OdCJs0NkT1QpzHvKKObrPsjIm4baUhdqMPJCvO4h6AoHz+wsVIPnyDsO9HHavN/jyqOOj7YIVSCIeI3kxK2CJ30+8/cls2QuREhCyEvKR8a8df3OJXz7rNMqJrERmK7ZHxvlpsc4xIEYiLEFs1ndtxxAmb+u5YiILYHtkJo4X6iErFtd1uCvbwnlo88ERUKSJd0TcS/EBfeNcqbKGOs1foFFsnr336fbnRHvwYQEVbPTob1264d+QiTxMeuO+YsEQvw0hbZKBviM8Ym50X+In3yF5tuxhplxRpi0qXT5xz7ysGdlacRR8QYjE3Sfkq2sIO3gk8//u/c/5cOtwmX//mXcEcI92+fsvdF0n59kEy7p+d73/uFvDAUcXyC3uOOVHcjs0Zz9D/0uBqci25llzbLfbvCHJt8CVHriXX4k4g14qQa6v/wycp0pbrWq5rseYk15b+GJlcS64l1wYckwbX1irQxtWnaFs957MmESACRIAI9AMCWSDMwf4gGQubJV+slBdGjHJiG941lJRUeBv2+lti33UKYQ/vqoXYiA/eh7pmwyZnpu3MWSc+Ysve0e+8J8dOnHSRluMmTXGRuboF85gJk+TEyTb5/Ztvy4uvjXLvU8VWwaiPdLH9krPz8sgxMvezpU6ghVgIsRRbE8On1es2hCIw3j07Ysx4eerFV10/2BYL/kPIxEJfE0RU2EOZJoi2iEZFwkPV6bPmOPuvjBrrtiZGPsa84qtvXD7GMO69Kc5H2NZ32sLXhvenunxr2wqX6Hfz9iaBbdiBGIoxO3F18jQnWsMO8nVujh5vdUIqtpt+d8oMhyvEcnwmfDDdYQexu/NyIKZBDIdQizx8gCuE3HJjA07wx8cV44BQj/GiPZIVbXENXLB1MoRo9Itoawi5C5d+EYrXrmFG/mfFQesSoiwRxbPwb4bKN49PDCNHbZ3wvLtb9s/6WvC+1FU/H+e2z3VCZVJ+2DDYshERrE4kFRFsQYx3sy76u5fk6BfB+4pRHX4iH58dExZHooMRJWujXiEKhqItBMzW806QRT5ES2z3i+2QsNUzIj2vnb3k8vELavSLD4Rh1L2474SL6sVWwN888Z6seHB0iMWZrQedP9guetUj46Tz2Fknwn49ZKKLJHVbAD8wqhhpi/t9xCwnHCsEEDbRlyY8uN3y+qcR0RZlEFIRgQufcA4h9cM/fNQdcQ07+k5bbC2Nd9q2H2h1Zu27axf/w+/l4Lx1TpBOyreiLfqDeA78IWIfX/mtLP7737vtqyHUQxROyodPiHJGpDC2vNZ+rWgLB4G7jk1xyNIxDa4m15JrybVvOa7HKw6Q8HcEuVbc1vjkWnItuZaibS1/9ySJtlhXcV3Lda2/ZifXkmu5rj3uvmLJtelwbZwIW2seRdtaWJ91iQARIAJEoM8RSONBcK3k6NcfLA+S05xcuy0y7PoLZ0SbfrpwcZpd1t3WjRs33K9ysdiH7xpFWveOEzqAEAqB1QrMWtVGD8NfXMdt/6T1eex7BOz7Xm3vYT6iok+3uyJEuOJ9tLWkJKG5FhvV1rXRqBAnIfji19pMgweBNLiaXFv7/UKurR2zWluQa2tFLFv1Q0713ArzybUeMrzMMgLk2v6ZHXJt/XEn19Yf43r2EHKq10mYT671kOFllhFIg2v9Z8o9uaZom+W7hL4RHzJOAAAgAElEQVQRASJABIhAKttA9YQgbRs+SK79RkSEJQRFRMRioYvrj+cudNGUeN/p2IkfhBGytVvvnxaIzEU0KyKOP5n/Wb9HhJZb3O7au19GNbzntrVGJG9WI1j7Zyaz0Wu4iPXc0XxEWiLKc8FfPe8iMGvdGrcvRdu2xn3OR7wfdvWvJoQRuN7QeJljBNJY3JJra79ByLW1Y1ZrC3JtrYhlq75yqu+V5pNrfWR4nWUEyLX9Mzvk2vrjTq6tP8b17EE51e9D88m1PjK8zjICaXCtfZ7c03OKtlm+S+gbESACRIAIULTlPUAEiAARIAJEIOMIpLG4pWib8Umme0SACBABItCvCJBr+xV+dk4EiAARIAKDAIE0uLanQq1tR9F2ENxsHCIRIAJEYCAjkAXC5IPkgXwH0XciQASIABGoNwJpcDW5tt6zRPtEgAgQASIwkBEg1w7k2aPvRIAIEAEiMBAQSINrrfja03OKtgPhbqGPRIAIEIFBjEAWCJMPkgfxDcihEwEiQASIQEUE0uBqcm1FmFmBCBABIkAEBjEC5NpBPPkcOhEgAkSACPQJAmlwbU+FWtuOom2fTDc7IQJEgAgQgZ4ikAXC5IPkns4e26WKQHe33Lp2VaS7O1WzNDYwEbhz57ZcvtYe6/yFjjZpPrhWuqVv75VrNy7Lra4bsT4xM98IpMHV5Np83yMDZnTk2gEzVX3hKLm2L1BmH9UiQK6tFinWyzwC5NrMT1FfOkiu7Uu02VclBNLgWiu+9vScom2lmWI5ESACRIAI9CsCWSDMwfIg+db1q7Ju8mhZPvK3smTYr+XU7m/d3N+43CGrxg6TKxfOVrwXjm3fIJ8+/iOZ/+xDMv+Zn0rjxxOl6+YNOXNwt2ya+U4oON68clk2TBsrOKaWurtl78rPZOHzj8iiFx4N/Ue/5w7vc92cPbRXvp4wQm5evSI6Xvi6aOijcu7I/tCVE02NsuC5h90H55US6qBP2Foz6Q25caWzUhPZ/PF7MvfpB+STX/+zfPPuSOm6cT3S5mr7eVn7/ijnJwo62lpl2fAn3FErXmu/IN9MHOn6XTH6+XCODq37UnYu/dRVw1gxr9cuXZTmJbNlzpM/Dubn2Ydk9/J5cuf2bTVXcrzW0e7uBzefz/7U+Xvh2CFXr21Pk6x48zlZOeYFd3/AF/j85eihcuX8GVcHmG6cPj6c95IOBkjGlWuX5K0Pfy5D37lPnh3717J513Ln+eHWHfL61AcSxVM7vG+2zZVHR9wlQ978b/KbN+6VUTN+Jh1XLsi59pPywoT7wvxfjrxb9rYE91zn1Ysyad4z8vRb35czF49bc7Jtz5euXXtngLUt3HFgjYyb9Su5cfOqy/7485Hy2GvfdX2g/zen/1TOXzopL0/8R/n1G/e6/MdH/XdZ9+1CayY8n/DpE7Lr0Hrx7cz5cox03b7p6t3suuGwWLp2cthu4eoGmb54WHg9b9VYwafahD7RN1Lb+RYZ9t4/Ol8/WPh8KA7vPLhWfjf+f7r8kVN+7DBFffSNsT0x+nsR7IA56mEOnm/4gbSeOVjWnYZPfiNN+78O60z77GXBXEIQ/3LTTHlxwt/LS+/+0OF99XqHwwlteiqY2zGHnQ6AkzS4mlxLrq10q5Nrhwm5tvxdQq4Vx7Pk2vL3Cbm2PD55KNV1Hte1IlzXBnc017UBDlzXcl2r3/Fc1yoS0WMa69qeCrW2HUXb6LzwiggQASJABDKGQBYIM+sPkrvv3BEsQiCYlfvcvFpeILUCGyI6tT5srnnvjSDKs8L9AdEWwiAS/IJgh4UixFmIpVcvnnNlp/c1y9bZRXGngtmqiuF/44fvyp2uLum+c9t90NCJtkf2y+Vzp+WrccPc0Rns7g6FUvjjRGURgUi9uuFVuXy2zX1wjryk1Hn2lBNXIY4itTZvFYjD1ST4rP369YG7FW39coitGG/bvmZXhOP6KW85ERa+fP3OCIFvVsDF3GCOkPAw45t3XxMVYX37/nV761EnSEOEhyiLe0JxgYDb0viNu/8gmm+fN90JteXG59uvx/XlG+fk5KXmih/UK5fwcE+FOAipHVfOu+o2v1x7lOFBMkRPJAh6Uxa9IMvXT400O3SiyYm5128G91LLyV2y/+hWGT3z4YjwGGlUxQX6Rf82YcE+ZuYjod2jp/bIa1N+LJcul2JhRVu1g/ZvTPtJKDBb23p+rr1VRnzw73Lq3GEnpkLgPnG6+OMIrZd01IeqwOv9+c86oRrnM5e8IhublzhR+v35v5MTZw44E0vWvi8LV78TmoPQDUHVCt5fbZ4VCsc41zkJG3knwAgiN8RpjOPJ0d9zWMK3sR//MhSPMZcQy9Vnz0zVl71tX3VHKVdMg6vJteRa5ZS425NcK0Kurbx7BLn2gvsBFbk27lukmEeuLWKRtTOua4MZ4bqW61r/3ybXtQEiXNcWf8jNda3/rySd6zTWtVZ87ek5Rdt05pNWiAARIAJEoE4IZIEws/4gGYu62UP+VT585L6yny/eeDaM2vSnC8LqV+NfcdGiG6aOlfNHg+izi8cPy2cvPiaf/OqfZP6zP42NCLW2rGiLbXy3zZ0mJ3duc1W2z58hrTs2u/Ndn88L8xGViuhUF/H6wqNO5EUlRPYiehT5NooUvi199QmXD58RBQyB1dq0PkEUPblruxONk8RU+LVl1iTXDFG5Gh0KbCFCIu/YtvXy7YKZoel9q5e6vH2rlsih9SvDfHtifYUAq8Ku1vFFTR3zgt/9zEXHQlSFuIp5WPzSL11EMMRcJETOrvtgTDinqAccNSL68Iav3DgQiauRr1a0hbi9fsrbAjEW+cD089eeEsw/ImgPfBNEk6qve1YsFHyQjm5ZK7s+j4qAyIdvwBuCbsfpVhe9jGuME5HIsLtm4uuy+p3hbnyndm8vsbN35aIwMlr77ulx1b4xMm3jv1X8oF5SQvQpxMynxvyFi6bcc2STq7qpeakgKvbnr/6xi/J8b+5vk0y4fPsgGRmIgrECo+b50TG+uIp66BtRpIiURbkmCLy/ffsvnV8QK7WsmsUtBFaIqthaGVscI5oVUbmvvP8v8urkfw0jbVW0RR2IlhCasS0yhE1EEmu5+oTx4LO+aZGLuoXoiv8w9ifH/Lk8O+5vZMQH/xa2A76InEXZmA9/Lu/MftyNwwrMmJOPlo3QLsKjj3GcaIu2EICxDdf8r8bL4m8muvbAauzHj7m5RgSuRvOOn/UreW7837rxw2ecox/0HxeZnPQg+ODx7Q5fRPoiavj1aQ+6KGt0njRmRGNP++wleeqt/+H6RbuspjS4mlxLriXXiuNZcu2v3Pcivu/IteRacm2R+cm1xbUu17UjEn8kzHUt17XFb43oGb5Pua7luhbrVa5ro/827FUaXNtToda2o2hrZ4XnRIAIEAEikDkEskCYWX+QfOnUcVn6ypBwy9tgK9uHSq4hGt6+FWxlGjfRvoCodSpFfGo9HP3tkTd9OMFFvqIM4i2EUURqIkIUoiOE3S2fvC9HNq12ZiBqQqBEFCmiRuOiSLfMfl8uHj/i6kAQ7DxzyrXFObYZhuD5xZu/C8XLDdPGOeEZR/99sIgmRgQw8NMoYIxhx2cfuyhSCM3b5k5143Ii6eTRTniFf9q3FUKdI4X/YSwQJyFeIiHi1Yq+yLOYw+bGGQ1ubCg7sGa52AcSEGUxhyra2rauAxNVjGvUR3uMQRN8DbdHfuanTugGJsiHEIvPtjlTIn6hLe4b9A3ckZLGDN8g1MMO5lV9xBFCOMTj1Q2vuCPsnWs5II0fveu2k4ZYfL3zkjQt/NAJyepzb47rD78vH29+uOIH9cqlJCEuKT/OFoQ+3R4ZYihESAh4mrCVMfIOHAt+5KD5caItyiBIor4Ks1ofR/iFCFctg2ir2yNjK2ZsyYwyuz0yRGl9MPrFxulO0ISto6d2O8EaNq0dbC/86YrRkW2A48RhRKdC+IU/OjZsNwwxFsIvoopfmfTPTggFHtiGGgIyhF1E0WKMiHKFeIpIViRsT41rm1B/4tynnTis+XGiLfpE5DC2nH53zpOuf9TH+CASoxy2ILLiiLrYBhoCKs51GymNPta+9FjunsCWzRB7seX1N9vmuCZJY8b8DHvvfrcFMyrGifzaZxaOaXA1ubb87gp2nsm1RTTIteTa4t0Q7GpBrg3+jiDXkmvtw189J9eSa/E3BNe1XNda7sR5uTWMX5frWq5rua69Kcqr9TpStPW/eXhNBIgAESACmUIgjQfBvSXRrC9u05owFdh8e0miLd7JqgIxzpGwCISgB2EWoiu2M9QEQQ4CadveHUFUa3e3WzBiy2KU2YQ+IXjqO29xxDXyQ9G2q8sJgSraoj8Vf/E+Xt1+GfmIhoVYGBtp293t2kE8hHCKMTQt+siNAxG8oUBZEJixlTKiUyHaon5YDjGpgMneVYudYIlIWNRBgp+IeoWYqsliDgwgXGJraiSUfTX+92H9WkVbbJmN6Fz4qWK1+moX6uhL83X+rF8ot1sj2/o4t0lFW8w/om0RrYv+1Z7eS3q81HZCIOyf2b9LVr39kpzcudWJtv79YPvoj/OkRWxcvkadQpjFBwsaJD8K1B+HvzWylkO8g3AJAdKmWkVb9G9Tkl3UmbJwqOBdsUioB8EVY1VRFqIqxFUrOqOulruG5n8QOnWLYWTPXjEqsjU0BFD4BwwgpEIsRUIexo6EMkTAPj7qz1zUKYRUm1Zt/thtIw3RVVOcaNt8cK0TX/HeYIiiKp6i3eQFz7s+VjV+HIq58G3HgW+cH4gW1jH2RLQFlhCosa20+pk0ZtSFUKzRtZXuHx1zfx3T4GpybfyDZOUV8C25NtjeXzEh15JrybXFb31ybYAFubb8g2RyLbkW6z394TTXtcV1cPHbNDjjulbC3ZTItcW7g1xLru3t8+Vq21O0Lf674xkRIAJEgAhkEIE0HgRXS4pJ9bi4jV/cxt0uKvqhDNvzYqtbmyCkQkTFVsNIEA9rFW3xTjds1YwH2LuXzwsFSUTEYmtFJCyyIIB23bgeioaI2oUI6m9RjPoQhbEVMfyBDWyJ7Ba0Gr1asIuFLSJI8aBYt3rG1sgQhTUpBhAqaxVtIWqrYFlJtEVk8NpJb4YiL6JhEU2s2yPDR0T2QjyNi5CFMK1jqCTaYoyoo0kjcvVaj7q4xTUEWIjG8ClJtEX9zbPek91fzJeDa76QbxfMcJHBmLcspThxFv4l5cf5Xkl0wztRIQj6CQ8f+1q0RSQotqREQv++aIv8mUtfjUS1Ik8FTdfQ/M8fuy/aYlti1IGACTEYUcdIyFPR1phzgq99HzCEWGz1dfbiCVvNCd32nbaI2H37o1+4eUNFRP7CvvaHPAjRi75+V16e+L9cRLKKsxDjsaWyjvHDpcMjwrN2XO6egG1EN0O4VcE7acz+vPsYan9ZOabB1eRacq1yOLk2+JdNrg1wKPe96n8HVvquJNeSa3HP6N8X5Fr/X1B+rnXt4Y8Iaw/s9mN/ROvX0Wtd0+Ga61qua7mu1X8ZlX+MTK4l1+JuGcxcm/RsuZZ8irbF7xyeEQEiQASIQAYRSONBcC3EGFd3sD9IhpAJQRPCZved2+6TdKvYxS3aIToWR00QCSGIhhG4hejVwxtWOfEVEZp4xy2iUyHuxm2PvGPxrHC7YryXVRMW09vnTXd2bKStRnriF8Uod+Jjd7cTb7EVM1JHW6sbIxbwEE2/fmeE8xu+41yFVAi+EH5XvvVimIexIIr3eke7s6UYJG7Z2N3t3sELf+x7cv0xV9oeGfWxnXLL5mDLWEQRQyBFPqJsVze8KtiOGOIp6iFfxVk4CiEXgi4w13z13T7oQDuIw3iIrgl2V779UjAOF4nbIu2tLU4sx/bISJgbiNBuG+Qj+514rg9K7BHv7gPGDsd3hgeRwdpRRo5JD4wRrYn3ukIMROQkRL2kVO5BMtqPnvmwbNtb+m5k/4Gi2q9npC22R8a7VBHx6m+PjHEgQfBEJCi2N9akgqZe69EfO7ZsfPujRx1mFzvPhO+JhZA5cup/yNFTe1zfuj0y7Fy93uHqoz9gfrh1hzPfeuageycujn7yI20xnoZPfuO2V0bdbXu+dO+xBf7H2vaE71DUaGkIqiraqm0dI+6J4ZN/FIqviMZFVGzSvYL2EKvx/iAc8UFKGrM/7z6G6k9WjmlwNbmWXEuuJdfiO9dP5Fpyrf7QiVzb3OvtGMm15FpyLbmWXFvcQQp/c3Bdy3Wt/dszjXVt3HPlWvMo2tpZydL5nZty/djn0tE4Rtq/+he5+NVzcqlxtnQea5Vbd7LkKH0hAkSACNQXgSwQ5mBf3EJcxHtG5z/zU1k+8rdOnEuadRX9tByRnhBTNSE6FJGVEAI1QaSFeAj7i154VE40NboiRIyuGP28i6jF0UWQdnfLvtVLZd3k0S6SFu+iReQrfIRIiK125/32wcg7bUPRFpG9He2uDAIn7K0c84J7B+7SV5+Q80eLog98WPDcw+6j/qi/eEesfU8s8k/t3i6Lhj7qfMX7dPGeYSTYhG1EBUO8hJALkRTiKvLCcRWMwye0x3t5Ma41k95wvwTH+4ARXfzJr/5J5j3zE/d+YDS51n5BVo0d5srse3wRZbtz6afOqtuqeNIbLtpVxVkUYA4gjJ85uLusaIs5Qx+6wC+46iKSdWwohy8QY1W0RT2I7niXrYrAVqwFHrgGvhB34Q/mz0Yta1/9fUwS4gIB8TEZ8uafyquT/9VFZib5Wk50O33+qBMAL3S0lTT3xTtUwJbLv37jXnnk1T+W3779fdl/dGukHfwdOeXHbksrFKjQaCvF2dVy3SoY7619fdqDTpyFTWsHQiciZCHA4h25eFcu3iOId+e+N/e3asod/bFDPMX7cGEfEa3jZv3K/RIXlfcc2STPjP0reXLMn7vtivWhwpK177u8J0Z/T5ZvCH4YAHEVUav2/YXat2L0s9//ocNKt6mGEPvc+L91feOIa6QjJ3cKonKx/Rf6hrgKP5NEW5St2T7Pve8XbTAGCMvA6dev/4mzo1uJIWoZ78h9feoDTqTFw2fgirEmjdmfHx9D1zBD/0uDq8m15Fp7S5NrAzQQfUyuxY91yLXkWnItudayRPlzXXuU1OK6NgIJuTaAg1wr7oe45Fqua7muFUmDa2sVaOPqU7SN0FU2Lm4eXyDtK78rFz7/o/jPyt9L5/FOoXabjfmiF0SACNQXgSwQ5mB5kFzfmUzHuop+uqUVRE4IuFnbTjed0VZnxd8WubpWrJU3BCAinjoXRI7j3avY4nigJCsGDxSf6WcUgTS4mlwbxbQ/r8i1peiTa0sxGYw55NrBOOvZGTO5NjtzkYYn5NpSFMm1pZgMxhxy7WCc9eyMOQ2ujRNha82jaFvTPdElnScOy6ypW+X+FzfKHzwbfL43fKuMWHZYDncWt2isyaypfH3P7+Viklgbyf+htO9pHeTC7QVZ9MS9MmTJBYNgnU7PLJEhdz8ti87UyX6aZgeSr2mOu0pb169flxdeHiafLS6+f7LKpqzWTwhkgTD5ILmfJj+mW0TTIur38xFPucjV5a8/E0bmxlQfNFl47x2ic795d+SgFrAHzYTHDBSRmXgfLKJXn2/4gcRtFxzTLBNZFG0zMQ29ciINribX9moKUm1Mro2Hk1wbj8tgyiXXDqbZzt5YybXZm5PeeESujUePXBuPy2DKJdcOptnO3ljT4NpaBdq4+hRtq703zrfIpNEb5Z7Xtsv0ta3S2tkhnTdvyY0rHdJ5qlWWLtwu/z50ozw0p0XO9VC7vdXyTpWCrUbg/lAutdysdgQiOxrkrrvvDT4Nu6pvl9WaTpy8V+7q7ViqETkL2I0NXp8mIrtkLLCM67tHfgX2ivYV9FJh+vySp4vzqPN5txGvfV9jxtfcULgPTPvYsWBrT7+/J5bIeXWvyqPrLwYrZ/uJ+oqnKtLi3v/BP/yjrFu3wR0bJkys0ntW628EskCYfJDc33cB+ycCRIAIEIEsI5AGV5NrszzD9I0IEAEiQAT6GwFybX/PAPsnAkSACBCBvCOQBtfGibC15lG0rXindUlnU7PcP7RRRm0+F9S+c0GaVjXJ4681yv0NTTJ/TyHSs+ucrJnZKPcMb5bGWqNu7xyRjlUqxtZwXDVbrlW1T3IgCkajUpHX39GjgSh5Vw+EwPJTV7B7d4M0l68oEiNqVmoSirYx9kORM0akTLZbo2hbC14x4ysVUePmIS5PpLRt8qi0JKlNX4i2iKh98KFHpP3SJXUn9aMKw9u2f5u6bRrMxvsE+CCZdyIRIAJEgAgQgWQE0ljckmuT8WUJESACRIAIEAFyLe8BIkAEiAARIAL1RSANrq1VoI2rT9G2wjzf2NUs9z23VeafulWo2S4rJxa3RtYtkp9d314ovyWtK7bKd15plqbrFYyb4juHx8S/vzayJXKcmPtduRS8vsxYizuNEwX7WbS1kb+1iJBxw/PynEj4xNMyJEZU9ar2QrRtkLEN90o0OjYQOsc2NMRH4ZZ0rhlx84OywJ4V21XorDratSrRVkpwCMTnKkRvHUKZY3+LttgOGcJqvRJF23ohG9jNAmHyQXJ955jWiQARIAJEYGAjkAZXk2sH9j1A74kAESACRKC+CJBr64svrRMBIkAEiAARSINr40TYWvMo2pa7F68flVGvNMqoXZ3FWgd2yV8X3mWrgq07vrxL9oa1OqXpo0a5b15rmFPp5Ormv+uhaPtHcmHzvgrmA0Ew3BoZQqYVTAtb5EbFx6LJMHLUbqVbEFmdGGfzca4Rpk4sNNvwJgmz8CWhLNq3HxVcKmg6r93YdIxR0RH+QgAN/YavKmruwHtr1V+vL60TvtO2IHgv8cRZV69BFmFLYcWhAGXYZ6GPKN4pira+r/61JETLRuolYFu8LQpncfVKx+LG7uEBAypAl5hNKQNRtsX7/l73HlsVWPWdtnqNKFlsmaz1tdy6YstVCG5pOeq2W9Z2OKKt2rV2EO2LqF+NyNU6Pe3b+pbn8ywQJh8k5/kO49iIQN8jsKvtpBxrL+zU0vfds0cikDoCaXA1uTb1aaFBIjCoESDXDurpz+XgybW5nFYOiggMaATItQN6+uh8DAJpcG2tAm1cfYq2MZOjWZ0bt8sfvLVfCpsiu+xzq7ZIRKwNBdwtMv+sthSR03vloWebpclklTu9sjEuirbKvI3hi1bLdFEqpIViZShElmmuRU7Y86NLC4VOLFWxE/1ZwTTo30aMqkn3rt0Y0bYk0jNiH60rCIYq3oYdFcTKuz3/C2OywnHQt46lNAo12B4Z5dFxunYNuwIx0oiUyLdjLxlb4R25USE3foyubQxe4TAj4muc7wmircW33DyHHcX7p1tH27H0l2gLDyGaqsCKaxVKVUzVa4itKqbiiPffQpDVBMHWvgfX2vXF2Lh+kOfXS6Nv9S/PxywQ5mB5kHz72mXZO+4x2f7838nWp/5cLu74xt1atzovSPOIH8mNc5V/jNS6bLIcmTUyvCVPLH5P8ElKnQe3y74Jj0v37eCF8NfaWmTPWz+XmxfapOnlH8rGn/+xbHr0O7L16b+QS7s3Cnzc+dq/C9rZdLP9rDS/+i+C9kg328/IrjcedEdbz57D102/uCv4PPod2fjwH8rlw81ybtNSOTr3rbDqnrcfdXnIgJ+HP3xVtj3zl+5zasUMV7b+J/93wc5/kYOTfyd3blwT+PTt0B+EfWx46A9kb8OvQ7txJ9YnrZ80ZsUK5erbgUm/lWttR0S6u+X4onfCvs9u+MzVwbjs2Pa/97R07N8qx+aNldNffxq6hHPkJaUbF9pk82/+xM2NYnjh2696NGb0AVxPfzMnvA+S+u2v/Ms3bsivFnwi/9/UCfI/3ntbvjl8wLmy/+xp+emnM6TzRm27Oby1ZqXM+nazs3H2cqez+/+MGiZ/OOZV+dmcD+XKzZsVh/rVwX3OF/j0m4WznU+/XTJfuqXbtW2/dk2e+GyO4Hiyo13unzFJvjtupDviGul0Z4c8PPfDSH7Xndvy5GdzZHvr8dCH2U1bBJ9le3fKqK+/DPP15MzlTvmzd0fLfx030tnSMbz+1ReydM9OrSYbjh6WN1evkLfXrHJjhT/3NLwhEzZ8Lei3J+nAuTPyw+nvuX4fmz9LOgo7axy9eCEcMzBSkfyDxvXynbGvyf/1+ovO39WH9ofdxs3zJ99ukXFrv3J1YBv3AcYLnN/ftE6+O+51+Yv33pYdp4LvR51PjA14/NFbw6X5VGvimIEz8Nbxt1w8L4/O+1jgy0BKaXA1uZZcC/5FItcG//rJteRaywPkWnItudb+iyh/znUt17V6h3Bdq0gEx7j1Dkq4rg3wIdeSa9Pg2jgRttY8irbR767oVVyk7a5m+U4o1Jptkp9rlqbw3bKFSNvZR6Xaxy2XN1Qp0MZtl7xhs4RdR0dgrtIQbQMbfgSp66Qg8llh0nTuTpOEu3jRNsbfkghRX7T1rpNEWyOmFn03Aq3L9Gz5QqgTWYM2GFcgUAZtcK7irY9BeB1rT6N8S48W10Dw9epYEde37V+X4AivvLlNaqORyGF/Hk5ugKVz5+Ze2/rHJ5aEsNTjxIqrsK9CqS/a6jXq+OIqxNshTz4deS8u6iAPZX79uH7i7Pq+xNWp1Dfa5D1lgTCz/iC5+/Yt6bpwUrrOnyj7ud1hf11UeudACN0/8Ukn+HVd7ZSuK8G7oPHQcPeYRwR5lRLEUoiq18+ekK4rHU44VSE1ri36hDB7aW+jK4ag+O2Lf+9EW4il6Bup8/AO2TXqp3Lz4ulY0RZ1IA6rIInFmRWPnZEy/2vftU4OvP+se1BcTrS1WKgwa+t337ntMDy/5YtIb91dt2Rfw29KxOZIJe/i4JShcn7rikShGg+1947/VWgTYi36uHPzuhPY3fmNa+4cQjgeXkCIhch67eQh1xtEXswBcNv+u79xcyIuOYsAACAASURBVIZ6mAPF0nPLXQIHzI8KxnF1ahkzfN/2zF8FgnOcsR7mXe/qktNXOit+UK9cgrD21OJ5TqiDQHvp+jVX3eaXa19NGYRMiKLVJgi0204cc9VPXLooF69dlYc+nSknO4J/txBIX16x2ImBEHXXtwRzjiOur3fdlN8tW1CSD/EQAi38QcL1U4vnyt4zbc4/zbd+tnV2CARTX2iED4ob6r+2arlAJLVjvXbrlhOOIWzWmtDfz+d9JIfPBz+xhMAKoRgJ4vLWAj4Q2YGFpiR/7XzqPEOohTAPMdUKuHiw8bM5M51IvOXEUfnl/FlyvUtfpxL0BMwgwGKMSWNGnxCRG48HPzhBvX+YNrEES/U9q8c0uJpcS65V0ZZcG/xLJ9eSa+13fhJ3kWvJtbU8CCbXkmvJtfabVdzzBq5rxf1g167boijVdmXXPdW05LpW3NqP69pq7pb610ljXVsLLyfVpWhbYa7Dd9qeLjzMu3NG5o81Ym1BwH1slYardknrqsI7bSsHSYS913d7ZHRTKqSVRtoWhDsV1TxxMxDebPSsuh8IdzZSVUuCPozAGIp9YQ2JFW1jREO0iEaZRgXDaJkEdiPRvgkRprF9FcakGJTUAVYFoRfisKuHvACfJNHWFy+L0agx8+Mgio6xFAODo576vvrXKtrqPBeOVhjWeSv6p8bLz0FQq3QsbtyKZdFUOJ8mK/XTNERbRN7a7Y/1XKNx6ynaVuo7dcAyaDALhJn1xe2Nozvl0orJcmn5e2U/nd98JLcvX4ydZYiMO0f+WDb/5l7Z984QJ5Ki4uWWnbL58T+VtT/+P11U5e5RD8nt61dibWimRtdCcHTCaXcQ+Yc+YL/xV/+v7Hz9ARdRe7F5jWx58nty8IPnnbi4c+R/uDJE2lrR9urJg06gvHXpnIv6hR+wg7YQdJE0uhYiMcRMFSYhHh6eMcyJlejfF1QhviIC9srR3c6OFWGRAT+Qh34gXjf+8rsuIlntROp3d8vhma8Iok5turB9lRya9pITxIEf/HcRqo9+R9b+2/8hJ7+YbquHY8GYIIwi0jluzG1ffRJGMp/btEROLp/q7CgWiPa93LLLjQ9iLiJ5D019MZwXK9pue/av5ez6RU4obnopEG0x/1ue/O/OV0QiQ2C/emJ/VYtbO+ZbHecikc/ADjhpgsiO+w/HNNO4zevkf294reIH9ZLSF/t3y398Mk3+dMIoeXzRp2FEJcRHRFH+p9dfclGeQz9flGQizEeUJyIwEVWLxaxN/uIWwumi3dHdVF75cqnsO9smw1Yscf7AL0SBqlgIUfTLA8ELO95Z/7UTSBFV+8jcj8JoYIiRuN5x6oSLGlWhFUcIjKh/5MJ5VwaxESLw00vmuT4gKvt+Ywx4kAyfNMpXx4Uo31/M+9hFpsI+xN/zVy5HBMxbt2/LkEWfOlE4acy7Tp90wil++YyEOXl15TIXwfr85wvDfuEr+vMjnyGMPrN0vrrl/PVF5qR5RqM5O7Y53xGVDIEcCXOjUcc4/7MJox12YSciMmnTWvdBnp1fO2b4hkjdocsXufYPfDJNHpw93S3cEb37gynvuGhkRC/jgUZWUxpcTa4l15Jr73K7fpBrybXkWnJtHN+Ta4trXa5r73Lral2P6v3CdW3wY2Sua/WOiB6T1jtc1xZx4rqW69o0uDZJiK0ln6Jt8d9lwlmXdDY1y/1Dt8j47YWNkrvaZM1HW+X+Vxrlvte2yqiNQRSQdJ2Txtlb5J7hzdLYWT5iw+/szuExPXyn7Xfl0mHfWtx1qZBWKtrGtSvkuahVjSiN1gsiP+MjVe9SYbNEcDU2YNsXc11/vs2CYBgKsVbQLIisnhCp4pqKj7HiYYyoWbL1ckkd4Kn+4bzwDt2CMFki2hbwK0Yp+/PhXys+doxBXok4rVX16PvqX6toGyOiqgkV+SNCbqEw2n+pf9pWMUezWNzNPVHsN/2zNERb34bvZT1F20p9+77k8ToLhJn1B8m3Th6QjtUzpWPl1LKfyxvmyZ3CVrpx9woiLiHi+amaSA/bBlG22KoYEbcQDJEgVO6f+JQTI7sut7stkXFEn9geGWU4nlwxw4mkke2Rf4FF6Z9Ix4FtTsBEFKhuuYwIWUTgQpBEQnQotkWGMIktgpFc1O1Hw901tnpGuY3+hVBpxWU8NA63O/7FXU6wRh5SHBaR+o/+Fzkw6RmBUKwJoivEXhWRNR/Hjn2bnT9+xCpEX2yzjDGgLGnMV47tdQIyFujYtlnxhu2zGxfL5l/fI03D/pdcOxX8sQDRFkI5MINIbUXb4wsbZPfonzmBt/XzKdFI2+5uOTpnjBxbMM65Dxzs9siwa1PcmIExhGWkIx+NCIVtzB3mv33XencP6Fxaez09/2R3k9wz7Z2KH9Qrl3zRT+sm5Wt50hEPY/0HslbUQztE0Y75ZqUT8rB9LqJ7X1j+mRM9UQ4REv3bhAU36kBsRRQtRM44H9EWUaNWyLQ2IQJjG2BEikIEnrJ5vesmSbRFH4gWxVbHd49/w4mq6hf8gV+7T5+S4SuXOYEVY8VW0BCw//jtEU7YhOBbbsx2q2WN2PX9gTAMMRaLbZuseIr8pGilOKxQH3YR/Yp+NWEMEGsR5YvtriFI2/kAhvAF40ZKGjPaYH4hjOM4Y+sm1+5UxyUXRYxtnpEwBtjLakqDq8m1lXcwsPNPriXXkmvtv4jSc3zv4mMTru2uFuV4B+3ItftLdtkg19o7qm/PybXFtS7Xtd3CdS3XtXHrXK5rg+9l5W+ua6M8xXVtFI+4qzS4thZxNqkuRdu42YnLO7VfXhq+Ue4Z3STzm07Juev6MPaW3Dh/ShpXNclDQzfK/R/sl9ba9NqgtztHpGNVD7ZIXjVbrlXeG7nKSNu4gSMvEBSLgqOp5wTBeyPva3WlTqSMRuVGxT5jI060jYsMLhH/4gRDz24o8Ab5seJhjKipYw6Fx5I6wERFW31XbvE6KtrG+emLtP61jqO0bSKO2sT31b8uwVEbRo+uHw8/1Ij2X+pfCXZl+lNb0Z7TvfJFT39LYv8avfsiLLYofvChhyPvuLVe+vVRVo3daupU6tv6kdfzLBBm1h8kpzX3tYq2Bz94LogW/cVdgnObIMpBAMQWvkhWtL3Vcd5t46uiLYRDbI/sxNRTh0PRViNtEbHbMvuNwI73TltEcEIghoiIBDF285D/Fm63jDyIwRAENSHqVkVYRKIi6hcPvzWhzG4NrJG2KE8SbVFff9lsBWG0gaAZ935YvCN4x7B/jBVzdWtktMdDWfseXztmCJx4D3H7zrWy/90nXF20wdbU2B750p5NLqIVoijmAr5gnoEpRGG80xbX8B/jxrxBEPcxgNgKHFSMjsMB/WqKGzMEZfihoj2igZEgPGO8sI17AddZS0liXlw+3keLqEgIkvggutZP1TxIRsTrc8sWOsHz/pnvy+bjLe59sBpVqwtRaxtRrNgieV3LISfeQgiN8xFty4m2sAmhFh8IrbCB5Iuk2jdEYn1n7IWrV9y2wbpNswrJ07ZsCN9vax+a4x2wiGDdc/qUE6iTxgzxE8ImonchbkKQ9v2Je5CMLZL/9aMPBH5pqlW0hY/fm/iWi3TVaGKMYXbTVifkYgtlfz7s1sjoN2nMOj/YHvkns6fL4QvnnDi76ViLi0DWd90CR2xrndWUBleTa+NFW3JtcNcrL5Fri98C5FpyLbm2uDUy/mWQa29K0sNfzSfXkmvBp0hx6zlybZFj9YxcS64l15JrlUP78kjRVr+Fqzne6ZDDm3fLiIZGuce+13Zoozw+dbesORH9VX81Jm2dWy3vyMW4d9Ym5v1QLrVUuwdznCgYl2c9Cs6d0Bkj3mk0akmULJr5kbIaaepH1GrdmPwS0dC3KXGCofHf1Y8Kx8mi7b2FLY7NmK1PJcInsCuKtP4Wz873MJI18LMoeheu77aRy0lzUTpGFTrPm6FGTn1f/esyImrETgFff34dhgab2OvI2AZ+pC1waZgwUR586JHwvbYQXPfsDYSFOPFV27zw8jAn4Oo1or+x5TFSXLs4Abhc385Qzv+XxoPg3hIrF7fxi9tyt54u+GydUys/ctv+YVvjsxs+c0UqFONdsLdvXA0Xj3Z7ZAiQECZ1q2BfwNw54t9cGQxC4FSxV/suJ9pCTMVCzCbf92pFW9hAVG/r0kmhOYjBEIUhDtukAuWZdQtttjuHqLnrzZ/IjfMn3XWcaGvH3Pr5B7J33C/lxOKJoS1sm6zCMx5w4522EEMxVmCueW57aSPa3rl104mnFoPrZ44J+sNRU9wiX8uSxuwetI97TE6vmeu2q9ZIaIjEiCTGttzbnvnLMIpa7WXhqMKa70tSvl/Pv8ZDRXxssg8akQ8BEtGb49etlpnbNknD+tXh+1pR7ouEagvvboW4t3RP8H7cpO2Rt588HtlKGGIwxFDUR4LoCBERW/LCFyRfJHWZMf+zvkFIhiiLd77qgtcfK7ZFxvjKjRnCMKJ/5zVvF2wTrYK0ffcS+sIW1ro9MoTkH330gRuLdbNW0RbCOyJ98Z4hjZxFlC22zMY9AL91a2ntx74XGHlJY9Z76Hb3Hbl662YYBeyLttjODOPPakqDq8m15FpwD1Icx1heIteK+7FZ3N8X5NrityS+d/Gxyf8uLsc7aGf5zNoh15Jr7f3QV+fk2uqR1jWm3yKOX/w6/rXlHy3julaRkPCHt1zXilvHcl1buu4h10bX8lzX5n9d29tn0GhP0bbIM5k4u77n91UKtz+U9j2tUlWQrRtZvCgYCKPBO2fjtsLVqEndZjg8QrRzYqB5X61uTVwQKwOxt1COPIiovtinbcJjVGS1/tmtloPJKhU0I5NYk2hb2N44wY/SraQ90TbScSEaNRRtRfQdsQF+EHsD38NI3oTIYhXG7dxEMTH4a38lIm0w93cZ4T1WvPbGoJeReQQ+2o9W0EjsAnYYE9oUx5YP0RbDhXga/hu4+16ZOn1GKMjad8+iHpIKsNoGdVBWq2hbqW/XWY7/l8bitLeEOdgfJLv3o476qYuQRLSmRs+Wu+38xS3aIIqyY/8WJ2BCpEXyF9S6kLaiLerpe3IhYOJ9q21fBduEYntkvI9WfYoTbZO2R8Z2xXiHLraWssn3vRbRtvgu2TNua+MjHw0PfbV9wH+IyRq5assQFeyiWjVKucKYEcG66bH/GokuRmTsoenDSraEVtEW/QE7vDcPc6CRtuqHYgD/4Iu/CNd5At6R1N0tSWNGPcwF3pGMSF8kPFwGDipQX2s7Em73HLHbzxcqrPluNJ9qDaMh8Z5SCG/VpGoeJMMO3pML4RbRl38zebxMbiy+ezfpQTK2M8Y2xS0Xg593IVITIu76lkPONRxxfb3rpotcXbgr2Bp6y4mjTrTVyE4sJv/5w8mRLYGTRFsIvSsP7HVC6vmrV5zYqwItxNX/n733cG/jutKHv79l9/ftt8n+Nt1OYscpTuLUzdrJ2hvHJbJsy5Jlyeq2ZRUXNUuiKkV1imAvYu+99957750EC9jP95wzvIPBYDAAiAEEUPc+Dzgzt577znAOcN97zkHiF4lb1rd00RzLv0pPoLix1uaMsWV/edtLjNuLCwAY/xWtaTEhoXspR3i20PoVrY5ZGVXY/GMPaYtWtjgGxrLNam8hzHAeUktaJHLRdTGzgsZyjK1b1GOMYWJpzvJni8mG7pHJ8nZinHDFGL7cPbL0LnruuVzvsZlwXSvEj0c8lHQM00tYznUt17Xs/0btyHWt0RU017XKse25rlX7D/LsMq5rhfsn1Z2Yw3/X8t+18t8e7D+d/64VkOC/a/nvWndYg+akLXszudlxuS8apjN+YjnGbcZXoO/T20HYutkEPVEcMyLUjSfhSbK6MYxcNPdBwB0U5pMkbTc247LK7wjLZ0d5Ob/mCHAEOAIcAY6AEgJyvSG9xnPptVJ7pTwtdDXXtUrI8jyOAEeAI8AR8EQE5LpUev206lql+yjHBetI85Ta8DyOAEeAI8AR4AggAnJ9Ib3Gc+m1rYhp8bvWUcMhTtraereeRL31ZTD0JsNs6RWYznodprKOw0xpGOh7B2DFNiOOJyH19h1TwWrXbSfrSbK6LYhcMHdCwB0U5pNcSHane8Fl4QhwBDgCHAGOgBICWuhqrmuVkOV5HAGOAEeAI8AREBDgupY/CRwBjgBHgCPAEXAuAlroWk7aSu4R/5EvAYOfaoeAxAW01EWxdgNo2JMnyarhtHlX2x8Bd1CY7qhjtrJjbPs/LXyGHAGOAEeAI8AQsKYn5OXSazyXXrM+LR210NVc11pCl+dzBDgCHAGOgLsiYE1Xysul13guvbY2R3fStd3dvXDkyCnYu/cYJCWlm4luMBjAy8uHyk+cOAfT0zNUB+tiG/wcPnwKsB+eOAIcAY4AR4AjoIaANV0pL5de47n0Wm0cLNNC13LSVoKyO/7Il4jHTzkCHAGOAEdgiwi4g8LkOmaLN4834whwBDgCHIGnAgEtdDXXtU/Fo8InyRHgCHAEOAJbRMCddO3Dh0FQXV0HSM7euvXQjHwNDn4s5iFRi/Ux4Tm244kjwBHgCHAEOALuiIAWupaTtpI7y3/kS8DgpxwBjgBHYBsh4A4K0x10DNsZJj+yW20pn5XzI0eAI8AR4Ag8HQhY0gcsn6Egv15fXzfZhYzXtiYtdDXXtbaizetxBDgCHAGOwJNGgOlQdmTyWLveDroWrWbRilZqPatkbcswQZKWlSN5yyxtHz4MZFUUjwxL+ZFVXlpahuXlFRAWx1eAX3M8+PPA/x/4+0B4D2yH9yG+6y29/1k+0wfy6yetazlpy+7Mpumy5JKfcgQ4AhwBjsA2QUCLhWBHFaY7LCTbezuD2qrtbcLrcwQ4AhwBjgBHYEsIaKGrPVHXbgks3ogjwBEwQaBvYBB0YZGQW1Rqkr/dLwyGpe0+RT4/jRFwF12LZC2Sr2hli0lKysqnjHWwLiN4WTlzn+yI1S2SEq78GBaXQPfv70HphVCXjttX0EDjdqVWuHRcV2K73cYyzM/BTMpdmG8qeiruWcEJHQR978OnYq5aP6tdo+XgV/wmdI2Vq+LXmVJB74H+wgbVelrLV9YVTPLpF6ZVxz2fnwH/4n0exvV61Xr2yMf0hauPWuhaR9egsf3/4+qJO2s8/iPfWcjyfjkCHAGOwJNFwB0Upqt0DP5oZTuP2W5khr5855i168C2KtaUHzkCHAGOAEfgKUTAmp6wt1wNQi10tat0rdo8tMREbRxexhHgCBgRyCsuI9I2ICIalldWjAXb+KynbwAqauq38QyfnqnZqzes1VdDzl10ra2WttaIWfy9K//NK50/YsU+mM+wY0dpXVecL03NEWlSdFLniuHEMfoyqmjcztgiMY+fuDcC6waBtF1szHdvQTWSLvfgXXpGN9Y3NOrx6emma6JIIG3H1f+/O2KKCOO+DNcaZxR3PSL55pcnVG/KyZwUIm2H5vSq9bZaKH/vO3qtJocWupaTthKE3eFHvkQcfsoR4AhwBDgCGiHgDgrTFTqmu7sXMPYPJvwhfPbsFTEO0FagDGjlpO1WcONtOAIcAY4AR8B+BLTQ1a7QtfbPjLfgCHAEnI1AcGQsJGfmEHHb1Nbh7OHcov/03AIIioyFpeVlt5CHC+EZCLiTrkXrWdxwjMSsUkxb/D174sQ5k/i1mFdcXE5gG9v1eQb4AKDvHSXSJOfAHZfK3BFVSOM2B2S6dFw+2NYRWJ+bJEvbxbqsrXfiQS3T37tKz6hh0jmEnQdBYbeoLSOZRIq2jGSotm3yzyCMO6ILVetpXZjX7kPyTS2ov6sPpMUSads6Oaa1CC7vTwtdy0lbyW3jP/IlYPBTjgBHgCOwjRBwB4Xpah2DP2LlbqTs3Unm31q5jZ4CPhWOAEeAI8ARsBcBe/WGtfpq42uhq12ta5XmYw0DeblSH47kLa5MO9Kct+UIeBwCfQNDRNYODI1AYkY2RCeletwc7BV4fmGB5owuoavrm+xtzuu7GQJyveDotdr03EnX4objI0dOkZcoZi0rJWoxj3mQwiMSuL29/RAVlSDms3aW5oxYsg/WkWNrqZ2z8ifqu4k0Sdt5xVlDKPbbpEuncWt94hXLeab7IbA2NSy4R65Mdj/hnCBR4mtn6Rmd7Rl1Qu/bu8v6wXgiResG41QnWnsrjjBu0qmTu6qdbKEwo+UyyTeqb1Vt/W5COJG2FUP9qvW2Wih//zt6rSaHFrqWk7YShN3hR75EHH7KEeAIcAQ4Ahoh4A4K09U6Ri0ukK2w+jaWw9zcAv9wDPgzwJ8B/gw8Rc+ArTpC63pa6GpX61qtMXC0v8GZeijrCXS0G96eI+BRCOSXlEFIlLBQ2d7VTWTm+OSUR83BXmGr6xtpnnGpGRASHQerq6v2dsHrP6UIcF37ZG/8UFETkSaJr55xqSA1N2Np3PILYS4dlw+2dQRWx3qJtJ0rjd16Jx7UMvoPJ+gZHa/r9iCp3UPUyt4wIkUr+9T/v8vPhxHGNd7q5K7Ws0pu+Irk659Wd8v8WmQAkbbZPZ7vMUULXctJW8mT+LT/yJdAwU85AhwBjsC2QsAdFKYrdQwStl5ePuRqSnoj7d1JdjsnH3pj+8TdydiefzgG/BngzwB/Brb3M+CI3sBnQ5rk19Iy+bkWutqVulYuP7uWz9naNWunxTGn7SYEl+2C1fUlLbrjfXAE3B6B9fV1CHwcAwWlFSQrkpfoMri4fHuH+AiPTYS0nHyYnJom8ra+Wd16xe1v5FMuoDU9YW+5GpzbRdeqzVFahtixD+bLsZTWdcV5T0oFkSbRvzvuiuHEMcrOhdC4hZ/7iXn8xL0RWBlqF0jbQiH8lXtL67h0Yc8fomd0qLDR8c6esh5KunVEimLsWLVUePwRYVx2LlStmuZlsbWfkXwYe1ct/SHkAZG28W3O8SAif/87eq02Fy10LSdtJQi7w498iTj8lCPAEeAIcAQ0QsAdFKardAy6iFIibLcC5c3UXCJtt9KWt+EIcAQ4AhwBjoA9CGihq12la+2Zl+11N2Blspw+trcx1lxa1YN/yT9pUaR5JN1YwM84AtsYgb6BQSIt+4eGxVkWllUScbu2tibmbaeT/kHBHXR3n+A+MDU7D0Jj4mG7znc73Tt3mAvXtU/2LrRF5BFpEvbcQZcKUvCpL42bvc/HpePywbaOwHJfI5G2+tzgrXfiQS39v/0+PaM9yULMag8S/YmLmtd+m77/Y+xYtZT90S3CuOAzX7VqmpdFVH1M8lmLufsz3S0ibYMb1C1yNRfQCR1qoWs5aSu5MZ79I18yEX7KEeAIcAQ4AiYIuIPCdIWOYTGApLF/pHF+7N1JdjONk7YmDxK/4AhwBDgCTxkC9uoNa/XV4NNCV7tC16rNAcusYSAvZ/1trK/AZPIPYLFNfcGF1ZcfG4YSaUEksvoQRFYflhfza47AtkQgr7gMgiNjAS1uWRobnyAit6O7h2Vtq2NWfhGRtGzOQyOjNN+mNvdzJ6g38NiEtjx8cr3g6LXamNtF16rNUVrGsJQfpXVced7wMIVIEySoXJmy9nrTuKk7LrtyWD6WAwgYOquItJ3N3P7W0WtLK/R86v79PWgLz3MAtaezaWaLF/0GSG++pApA6j8vE85Ze2+p1tOyEN+9weW7SL66AcuuvrHed+9fIdL2bmWxliKIfTE9wDIcvWb9KB210LWctJUg6w4/8iXi8FOOAEeAI8AR0AgBd1CYnqhjbqTncEtbjZ5B3g1HgCPAEeAIqCOgha72RF3LUNlYW9wkbb1Zll3HqOojkNTwFXRPlNDCyMB0rV3teWWOgKchwFwj55eYW+VEJ6VCclaup03JqryLBgP4h0dBeXWdSd34tExAl8nyBUiTSi6+WFiegrCKvbCytujikflwagg87bpWDRtXlFVfjxbJqTXDiiuGpDFS375E4yb87WuXjckHcgwBQ2sJkbYzKfcA1lz3rDgm9dZaGyZmxf8L3NjAk30IpDSeoe/++DtALcX/9SvCGclbV6Xl1QWSza/4TajoteyWeXbJQITtv3ifB68Sz//+poWu5aSt5Cn15B/5kmnwU44AR4AjwBGQIeAOCtMddIx8IcfaNSdtZQ8Sv+QIcAQ4Ak8ZAtb0hL3lavBpoas9UdcyTDZW5wTStvUGy7L5ODLbTAsiVWWPoT+7FsIr94G13fY2d84rcgTcFAHRNfLgkJmEjS1tZH06N79gVubJGXVNzTSv2bk5k2n0bbpMbuvsNsl/UhdI1MbUfELvpf7pmiclhseMa68utVZfbeLbRdeqzVFahlixD+Yz7NhRWtcV56VfB4vk1OLYjCuGpDHiX/6Sxo166TOXjckHcgyBxca8TdL2Lqwb5h3rzM1bz3YNi/8XVdei3Vxa9xMvru5z0rcxNZ+qChf1288I5/hX1Mld1U7sLJxbGhdJ2+Iuy26ZB/QzImn7RW6anaPYVl3+3nf0Wm1ULXQtJ20lCLvDj3yJOPyUI8AR4AhwBDRCwB0UpifqmK+jg7mlrUbPIO+GI8AR4AhwBNQR0EJXe6KuZahsLE8TabvQfIVl2XzEWFbBZbsgbdcVWoxJePQF+BW/Bfol7prUZhB5RY9DQMk1MpvE0tIyBEREQ2VtPcvaFsfH8ckWLYhjk9MBy+WLkK6e+PrGGiRvWv2gZU1VX4SrReDjqSDwtOtaFWhcUpR/7IFITs10mG84cZYQkb/+hMYN/ckBZw3B+9UYgYXaDJG0XZub0rh39+puvLZL/L8o+SrIvYTzAGkeVx0kYjSicr+qtKE//phwjvyNOrmr2omdhVMLfSJpm9tm2S1z88SoSNoeTo+3cxT3q66FruWkreS+evKPfMk0+ClHgCPAEeAIyBBwB4XpDjpGvohj7fp1v2uctJU9S/ySI8AR4Ag8TQhY0xP2lqthp4Wu1krXVlfXAYsPj+fy1N3dC0eOnKI6zD2vigAAIABJREFUXl4+YDAYxCpbxWR9aXyTtLXPZdny2gIElO6A3Kpb4oKX7ofvgl/+W5BdZr/VrjgRfsIRcGME1FwjM7FzCkso9qv8f5KVe9qRxa7t7OlVFL2rt4+scC2VKzZyQmZOmzfoit+C/qkqSKg/BalN550wyvbqUv6MOnqtho476Vo1ObUqQyzZB/uUY6vVOLb2k7n7hqirx6pdF4c65Jn9NK6rY+naiguvZ47AfEWSkbSd2d6b8AbzG8T/i/yj983B4DmqCASXf0DEaFAZxsresFgX//8xbnDIs+rkrsUOtlAwMtsikrZqXoDKBvtE0nZXgnM2e8nf/45eq8Ghha7lpK0EYa1+5Eu65KccAY4AR4Aj4AYIuIPC9EQd89zdi1AeVe0Gd5CLwBHgCHAEOALbHQEtdLUWuhYJ2Fu3HgISs9PTM4CkLB6lKTj4MZVjXlJSOigRu9L6tpyvLQ4LpG3TN7ZUF+s0DafSYkjmmWsQ+L09sDy7AGNVHRB0cxf45b4JZVdDYH1lVazPTzgC2wEB5hq5b8CypdrA0AiRmOg6eDuk3KJSCImKg7X1dcXp4OIjWtpGJ6Yqlrsis7IvnN5HjUPJNFxptz8ElO6EDZVFZFfIxccwIuAuutYo0dN1lvzGNxD8w4+IOEGiylUJiZrgH+2jcVcXl1w1LB/HAQTmSmJhqbOKiNvV8X4HenL/pt1J5fRs4jOKGxt4sh2B1fUl8C/5JzVA7xYYQ1Yp4f89EbbPCO8BpTrOyMMNXChX41ASqMXczexuJ9LWp6IIXo/2fGtrLXQtJ20lT6QWP/Il3fFTjgBHgCPAEXATBNxBYbqDjrF3J9m/eJ+HvX4+bnIXuRgcAY4AR4Aj4GoE7NUb1uqrya+FrtZC1yJZi6Qts559+DDIjJRllrZRUQlw9uwVE1LXGgby8tXVNcDPylwvkbb6+rN0nTPQCfhh5ZaOkVVHILbqc8Dd80VfBIr1R8c7aZFEt38HRP/xJIw39Ylllvri+cK9sAWHtokxwI8tdXkd23G1FSskMIMjY2F5eUX1HoTHJkJmXqFqHVvHdGW96aF+E5nn5xfJ3XNxRbVJvlym1o5OIqq7ekzby+s547p1OIfeOYUdvqKMbSP5lDeh7xXznDG2J/Yp1YdyveDotbRv+bm76Fq5XM66RizZB8eQY+uscS31G/eX0xD3318QedKdVGapmqb5K3OLNF7cZlzbhZFpTfvnnTkHgbmCCFgebCXSdmXYdVbZzpmNeq+tYbniM5r8xgX1yrzUBIGF5SnSs5iJ5CjGkFVKC8NTIsZI3q7MG70EKdXXKq9zvJDk6p4ohphay26ZY1obiLSNbK6DP4dZjn3riFzy97+j12qyaKFrOWkrQViLH/mS7vgpR4AjwBHgCLgJAu6gMD1RxyBp+/ydi25yF7kYHAGOAEeAI7CdEdBCV2uha5GQRUtalpQsaTGPuU9GUteRZDAsAX4WJtuItJ2t/ZKu03vb4HxVNiwsGuia1ZMeByabaCEk5eEFWoiZ6BwyqZtcfwaCCz6AkM0YVtU+cSbl0r74uXAfbMXhd0H34evcdKt4Tg+MWa1j65i83ub/ysIiBD6OgeyCEqvYllfXgX94FMzOzlmt6y74NqTFQe69yyby1jY2ERk7PDpuki+XeXHRAGExCRCTlKZaT97O0euesWrQlbwNKQ3nYNFgfGeNz/bTO6phQBt5OkaKXTovR3FRa++I3nCkrbvoWkfm4MltH//yGGR9eJN0dmtojkumMj80SeNl7fWm43T7oEvG5YM4hoA+JwhWJwaItF3ub3KsMzdv3fAgmZ7NnP0+EPtfp91cWvcSb8YwRHoWpULSFmPIKqXptgGT98D88KRSNc3zWkbSSa5RfStEVH5ssf+A+koibfP7uuAX/rct1vOUAi10LSdtJXdbix/5ku74KUeAI8AR4Ai4CQLuoDDdQcfYu5MMSVv89I7xH3Zu8ihzMTgCHAGOgEsRsFdvWKuvJrwWuloLXWvN0hZdJSNRyyxxkcDFD0vWMJCXs3Zr+g4ibefrv6Ks9IF2Im0tuULFSoWd9yGwdCcE/fhDyD14l3UlHvumKmmhpLO3ADJ2XafFmqT/PQf6vjGxjqtPtoNbxrMFmfT96AcPrlmFr+paNLQ/zrdaj1ewHQGja2Tr30/n5heI7KxvbrV9gCdYc7K3EwI/eBnCD75hIkV0UiokZmSb5Fm6aG7roDmje2hXJFwgDix9F2JrPwN00yhNGF83pHwPvauk+Vs9D6/cb9H141b7dId2cr3g6LXanNxF16rJqGUZw1J+1HIMe/pC18jlF8JIH9ffF9yI29N+K3WnWvppvLJzIXQcrWzfSje8jYsRmM14BOvz00TaLnXXunh01w5XdSWKQnwUndBBxC+OuHZwDx9tfK7DhLQd0bcozmi0ot3kPTDVOqBYT+vMusE4kk9vGAW1mLvoFhnXHtunxuGHD69rLQb1x/QA69zRa9aP0lELXctJWwmyWvzIl3THTzkCHAGOAEfATRBwB4XpiTqGkbZJVXyx0U0eZS4GR4AjwBHYtghooau10LXWYtrK49zKSdut3qA1fYtA2tYJFgbJvS1E2q5uKMevXFkz0CJIQvxpWoSZbOxVHDqy6hCkNp2nMnQ/F/SDvRD0/b1PhEic7RmFqN9+BkvTc4qyekJmQV83LSqx70gJbZatX9YMKxD6448h+nfHPWFqHiNjXnEZWdquW4jtKp9IWk4+RCa4hhyRj23P9fLCPEQf30WkLRK3w83CIv3o+ASRsO1d3TZ1t7a2BqEx8ZCU6XwrvvmlCQit+BDCKj6ChWVTq52FxUUIioyFzBYviKn5xCbZ1SpNLw7QO691JFOtmkeU9efUwkBe/ROR1V107ROZvBsMim5Ja30SIPC7e6DystGrhzNFG61oo+8JjX5pdBzIrXPmcLxvDRDYWF0msnZjbQVm0x+Cob1cg17dt4uSLwMh/GeHoeJiBH1PdV9J3U+ywZk6E9IWY8gqJdQ7+P5h7wEkcV2RKnpDafPW2voKybm8phxz95uibPjOvSswu7QE/+bzDSyurrhCPKeNoYWu5aSt5PZo8SNf0h0/5QhwBDgCHAE3QcAdFKY76Bh7d5L9XXcNvuNzAd4N4nFt3eRR5mJwBDgCHAGXImCv3rBWX014LXS1Vrq2urpOdH+M55iQnPXy8iELW2k5y2Nzs4aBvJy1W51pEEjb2pOUFd/TTKTtZOkeWJkoYdXEIxIX6AYt5H/3QeqOy2K+/KRxKJnqzSwKVolz/eOQ9Pp5WrhpC8+TV3faNVr6hD13UFgwepTmtHGc2fGUYRF++OAa/D74AUyXxMKvfK/DmzEhFodkMdpwkaw7aXsvuFoEwQkFGMsWiVtbU3dfP5Geo2PKcd5s7cfZ9bJufEmEbVdJNh3Lw+7TkAWlFRS/F8lYW1NDcyvNecTOOa8v2r6hYmVtEaJrjkFA6U5Fd4wNLYIMOQ06egdhfUdS03Aq9ZPY8IUj3TzxthjTNOTZ/RD2/CFIeeMbkkeuFxy9VpukO+laNTm1KkMs2Qf7ZNiyo1bj2NLP8uwC6cDmwEwiqIpPB9jSzOE6/Vk1NG5vehUdu+LNv1M4PAjvQFME1g1zRNpip/q8EFhsKtS0f3frLO/IfYj54wmou51Az+jG+oa7iei28nRPlJJuRAHxdwHGkFVKnXElJu+B/mzXWG8Xdz2CuFph8yLKN28h5u6JnBR4KUj43oMbI0fnbf8+ojRfpTz5e9/Ra6UxWJ4WupaTtgxNANDqR76kS37KEeAIcAQ4Am6AgDsoTE/UMecyI+GV+17wmv8NN7iLXASOAEeAI8AR2M4IaKGrPVHXsnu6PFUDbxS2Q1BZBCy0+UBEpT+RtsMpz8HKmDm5Gl93AsLz9tMCjJrVDFrkogvlos6HbChctYacA3fA/9vvQ19mjTHfSWdjNZ0Q/KN9JCsSmJ5qefpWbAh86/YlaCqKo8XUW5F34F+9z8OAfsYcuY0NsirG+eKHx2gzh2grOcw1cm+/ddfIrH+0yA2JigMkP901NaXFEFFbEe5LImZcPQWRx96B1dVVCIyIhuIKZcsZS/PBdjhntDK2Na2MdMJcYQRsrK1abbK+sQbJjWdAV/wWWLLqiU/NIOI4PjeUFpLRGsiRhBa7uOCLn7mlJ+fi3ZE5tIZkA7rHxXdCwH/uhsgXP4GO2CJHurS77dOua+0GTMMGuGkK731nbDERVEphDTQcTuyqM7aIxp1s6qVjS7BtrtbFDviJyxFY10+KpO1caRws1jvfc4LLJykZEEN4YPiOlqAsekY92SOLZFouOW0bzSG9iIOhfsQYskqJYcveA/geckXKbb8FGc2XaCiUz1LM3Y/TYuHNmGCqh6Rt57Sp9w5XyKrlGFroWk7aSu6IJ//Il0yDn3IEOAIcAY6ADAF3UJjuoGPs3Ul2sSwTXr5/GV7zsx6zTQY5v+QIcAQ4AhyBbYCAvXrDWn01SLTQ1Z6oaxkmS5OVRNr6lz2GxdbrEFx8i0jbodSfwfJIBqtGx8n5HlqYCTuxD2L+dMqkTOmitNuf6i+tmu5aT9t5hRbHnBnfbqi4idxAopXtVHMfoIURLlqPlHtGjFGGp19tOblF9ksNo4XU+dJY6E28Q3kXi8wXwJFIx3m2huaIc1Yj19k4/KiOQH5JGbnctcfqFHssq6oll8orK0/O3d6yfgGWpkz/B1G2ie52CNrzN0g+fwQ21gVr2pasBCJxq4ryificnFbYGKAOFZTWFYMu5i7UdKdC+1iuldoAXcVxUBPnAwvVqVbr5rX70DulaThFse6sXk9yP45PBl14GNWt6Y9SrGtrZlDZe5DXfpv6quqLsLWZW9Wru5MIAf/3A3o3IGkb/rND0ByYJVp/MmGt6VJr5awfpeN20bVKc1PKQ6zYB8vl2Cm1cVYeI0vQwg0JqvT3rjprKJN+mwMEvcssffE55Mm9EVibGhZJ28XaTJvey+49I3Xp0ANMxvvXgFmD6ns9c2OO+iydU9o4lER6EXtHUhRjyColZsW8NDNPOgi/j7siZbRcEjeOonyjFmLu7owPh8Pp8SQSkrY1I0Oaiyd//zt6rSagFrqWk7YShN3hR75EHH7KEeAIcAQ4Ahoh4A4K0xN1jFdZBHwWdg6+63NBozvBu+EIcAQ4AhwBjoAyAlroak/UtWE1aVBR8hWMJj9LpO2jsihYaLoI/iX3iLQdTH0BlgYSTEAr7vID/6IdoPv+e9ARrewGTdpAbxihhZz6QdN+VheXIP6Vr8jya7ZrWNpEk/O+jGoiKB7/8hjMDUxQn8v6RQj8zm7IPyq4QHN0IHQvubbkXCKubXKcyNl3Qu/RIqqhuRBgfQ1m0h7A3vD78KyvuUeStB1e5AJ1fWUVMLYtkta4KMnT1hFAi9nAxzGQW1RqdydT0zNEIrZ2dtndVqsG+KyWXwgz6W5pXg9Rn7wLEYfegoVp4X8EKyzOTBFpG3HtHMSnKS+sGlb00DNZDugCvaI3BLJbbwC6Dsb4srgwKv/IN21IBdlYNsCVkOv0nJ8IvArjzZYtcDrHC6jvki4/aRcm59X1TSLZrAuLhLCyw5DRbNmNu0ljhYvxuQ4ac2C6FtKav4HHVQcUarl/1nTHIOi+JVjfI2kb+tODMNsz4lLBn1Zd61KQLQw2XNJMZAnGkkTCFolbV6Ran3gaF8fCmPYYN5Qn90ZgdaxXJG0NLcUwXyaQWe4t9dalww2IuYfuAm5owA1vEw09W+/sKWtZ3fcYgsrep1njsbI3VBEB/L9HrzfoehoxxveCK1JSw1dQ3RdJQ+H3kv7pasVhX40MgEvFgkU5krb5fU/u+5qigHZmaqFrOWkrAd0Tf+RLxOenHAGOAEeAI2ABAXdQmO6gY+zdSeaXvoMWSPBLE08cAY4AR4Aj8PQhYK/esFZfDUEtdLUn6lp0iVya9iaMJP+ESNv7pdEw33AGfEsfEWk7kPoLmC36J6zNGxewgst2Qej9vRDxiyNqkJqUZbR4QXjlfpM8vEAXdFEvHYfwFw7D/LB2rsiYtQQuxC2OmVoJFh5/RAtGaHnoSEK3y7jwVPCZ4FLWkb4stV1aW4WXgu/DTx5chb6kO7BYb7SqXazLhoxYwdo2tdNoOTzdNkByVV+PFrutu5tIebhYz9PWEGCukXv6B7bUQUJ6FiSmZ22praONxuu66f7j87owMi10t7EB6VdOQuDuV2Ckxdx1cOwX+yHgyE5o7TBduFxdMwBammIsWSkxG1K+G2JqPoG0pguQ33EHKvvCILHcB/zST1G9tlHjsyufz1J3Lbx47yKRtvi9//u3L4BvoXLsaSRNwyv3ybswuY5KTIHkLMG6F100B2adhuDyD0zq2HNRNxBLc1hdX6Z4fTjv4dkme7pwm7pp73hB4Hd3Q8EnD2GivpvksqY77S1Xm+x20bVqc5SWIXbsg/lyLKV1nX3em1ZJ74Gp1gFA18gYw9MVqfx8GIQ8I/zP4veGohM6VwzLx3AAgeXBNpG0xffzXJFAejnQpVs3xe+guLEJvyOhnkQvLTzZhkBZTyBE1xylyngs6lT+Tlz4uR/gJkpM6KZfvonMttHsrxVb+ym0jgrfvVB3d4wVKHby+5AH4F9XSWX4PSS5o0WxniOZ8ve/o9dqsmihazlpK0HYHX7kS8ThpxwBjgBHgCOgEQLuoDA9UccE7nsF/HLfoAUcjW4F74YjwBHgCHAEOAKKCGihqz1R1zLSdjjlp0Ta3i6Jgfm6U3CvLJBI2/7UX8Jkyg9gKuNFgI1VaB/LI/JC96ed0PBA2TWpEsBDMw3UrmeyzKx4fmgSwp4/BNF/OAGOEqnYOcbL033rfbLiVepvrLqDFuWa/E3dPpsJZiUDY6Dh4h5+2iOVF4GsdGG1+FROKvzrrQuQFX0LFmpM5V2dHITplLvwM9/rsCPOaEGJJLL/f+wCw4Re7H91YQmCfrAXMnYph5zA+zMwXg4ra4tiG35iikBecRlZ2trrGpn1guQnWn3O6s1dFLM6zjhurK1D3F9Oi88q22RQnxRB1rQ1sUGKwybevULl+gmjm8iGoUQIKd9D/8vJDV/D4HQdzC2NK7bHzKWlZQiIiIbA4g8gtcnyJszS9AD6vv+guhQ6pibgdZ1gdfvbgNtQMtgr9o/WurjoiovEltL45JRg1bxJNnf39oMu4Sq1mzVszaI/tfEcoLUOprX1ZQgsew8KO7Wx1rc0j63mq8UERk8D6B654tKTs3R8WnXtVu+nlu3aH+fTewA3SCFBFf6zw1p2b7Ev3Cj1+MVPqDz2z6cg5+PbFuvyAvdAYKm3QSRtV4Y6QJ+nbD3pHtI6LkXg9/ZA5eXHwDa99aQK5J3jPW//Hgo67on6HfV8bpu34qRz9vvQdxEsRPIWSVxXJNww2j9dQ0Ph94fmYeUNYc898oa0zQ2QSNqGN9W6QjynjaGFruWkreT2eOKPfIn4/JQjwBHgCHAELCDgDgrTHXSMvTvJAj94GXTRr3PS1sJzxbM5AhwBjsB2R8BevWGtvhpeWuhqT9S1jLQdTHmeSFvvkjiYq/4EbpeFEWnbl/YiTCX/AKbSfw4ro7mQ1PAlBCW9T7vkV+YNapCalUXXHAMkepQSLpSh28TE18465G6YWZSm/vMyoPtlSyn6d8cBP1tNbGEPY/PFvfwlxc2d6RjcaneK7bJ6Oug70FdBV2G+PBFgY92snj4nEK7HPoJ/9T4PowtzRNQiYVvwqbmlQ6VXJC3Yo+zyFF/1KZFauKAVW/sZFHX5UhzSmUVt5yQf15OugyNjVV0j901VqU4H49mie+XyanOrVtWGDhY26TLovndEFdIiqf+334fu/EII2v0KWdrK35s4HBLTQX6+RNq2ZCdC22gORFR+TM9IfN0JQDfBtqaSymrwSztNbZdWjRsJWPu12XFAl8i4OWFiUbB+31hagMS4e/Dr+5fpf+CDpEjom50maxl8RtFdsaVUXl1LpO3S8rJYJTgukMbvGMsX82w9WVtfobbV/UZLM1ykxhi3SOC6TdpYB31VIhjazDfGMBlxowpuMpntNnWJLH8GHL1m4ykdt4uuVZqbUh7DUn5UquvsvMZHaXT/UXcjQRX43T3OHpL6z/7oFulJvEj+xwVAa2+e3BuBpc4qkbRdnRyC2Sx/9xbYAemYu976e0mwMDxF/yO4wYEn2xDIar1G3jWwNnrZSG++pNgQw3Ykv/ENleFGsux9Por1tMzE9y7q6skFYfMXfn+oHYg1G2J9YwP+864X1I4KcWyRtH1YbVmXmnVgYwbTA6y6o9esH6WjFrqWk7YSZN3hR75EHH7KEeAIcAQ4Ahoh4A4K0xN1DCdtNXoAeTccAY4AR4AjYBUBLXS1J+paRtoOpPyMSNvrxXEwV3kQbpZHEWnbm/ZrmNwkbSdGMom80O17hxZ8rYIqq4DuyXDBhC2eyIrJHR0SClkf3pQX2XSNi9DYHheIraXmwEyqO15r6vrVWjtWjq4lQ3/8MaAFK8bLDXlmP0T//nNVopi1teU4tjAP37vnBX98cAlmS2Iphq1SO0N7BfQk3oH/c+sCXC3Ng+rrMTQvdH8pT2h5i4v0KLs0La/O033JLzoFSGoVd/lCXO1xysP7hW5lMR5o7UAMDM82ArqIfdqS6Bq5zxxXxGJlzQCBpTuhd7JcFZqC0goIiYoDjI/rirQwOk0W1iyeMbpGDvzhBxD8wWvw+OgOwJi2Sqm9q4eIz9DDb0DI16/Ts4CujzGGrb1peHQMdDH3qY+WEfP4uAvNhfCj29/Am5GBMD9ojKu7NjMKk8l34U6sL/zgwVX499sX4V7xMYiwEk82LCYBMvJMLd+RONYV7YTCjof2ig/MS8CI3ugqEV0j4/9G57hyTO/CknJAkt5VCa1rcWNHTu5RqM76AtYXla25caEcSbMnmZ5WXfskMWdjV9+IBdy0gQkJKtSXSFg5O6XuuAwpb16kYTI/uAGJr55x9pC8fwcRMLSWwGy6sPlrfXEWZtIeWPwe4uBQT7y5YVJP/wvopQW/0+H/BW5w4Mk2BFIbz1M4BKxNYREavlRsmPA/ZyBz9w0qQ/IWSVxnJ/b9lm0Yw5i7Fb0hZsPOLBlog9jovKA7/83nG7hWmmdWz5MytNC1nLSV3HFP/JEvEd/8dH0RRhrboeFhDVSeLIXik1VQ9bARWhtHYdE1v1HMZeI5HAGOAEfgCSDgDgrTHXSMvTvJOGn7BB5WPiRHgCPAEXAjBOzVG9bqq01NC13tibqWkbb9KT8n0tarKAH05R/C1Yp4Im27034L0xk/h7nqT8klKRIVuh+8ZxYnVg1bVoZWaRj3Eq3ULKXupDJaMLM35l3xFwF2tUM3oUhgottGe9NszyiNVXsrTmzan11LebkH74h5jpy8GekP/+FzAZqzQ2Bj1TL5s76oJ2uY3Y8fwU98b0LoTw9A2s4rFocu/TqY5NT3jop1OrriiYDqTb8C6wvG+L8Yu3RotpHI2ozmS0Te4v2PqrY9lrE4iIefMNfIq2trijNpGk4hDMMqPiICV7ESAIyOjRMZikdXpJwDd+h+T7cLFtP4jow68AFZ0LanmhOoTKaYnGAIyP8Y/K+9CoG7X4a2Acdi8aKFcVDJh4Buhk3SxjqkxN6lxVKfgMcQ8fMjMNNpdGG8MtxBz/dwVRp8nR9HGH+ccBTSu9pMumEXRBCHRUJnTx/LouPk1DT4ZR+GiHIh7p5JoZULXIQOLH3XrFZE1ceA8XXlaWFxke5xTYXt1sjyPuy5JsK2NBZ60r0IH/wfHawyuktnfU029dKzoOTK3ZrutLecjal03C66VmluSnmIHftgOcOSHZXaOCuv7GwIhDwrxJZvDcmh58EwMeus4cR+4//6lbgZK//ofYe8XIid8hOnIrDYmAez2Ztu6NfX6D28sbw9wyew73RdCaWEKW5swA1wPNmGQEL9KWgeSafKeMQNXkop6qXjkH/sARVl7rkJCX9T9ryj1HareXNLY6QXWfvI6kOKMXf7Z2foewir98MH1+BMgWlIElbmyFH+3nf0Wk0WLXQtJ20lCLvDj3yJOA6crsJMSzNUHimGwvctfI5UQVPLLKw6MApvyhHgCHAEPAUBd1CYnqhjOGnrKU84l5MjwBHgCHg+Alroak/UtYy07Uv5BZG2F3JDyLL2cmUqkbZdaS/B6rTgzjWodBf4ef3ToThUSIAgqWBYUbbwwyeJWcHW3DR3YYax+PqzamhBDWPKhj13EHTffQ90L70LFRfti9OIhC3GMVuZs28hEglljA+7PCu4cmVPf8UlwdIXF8MdSXdLc2jxKDjuIWysWHdBPVcSC6lJftTmxO/2w0BevcXhMX4wWpEUndSJdXKKP4eQop20KIsuEdUSusnF+9c/Xa1WbduVoWvknKISi/PChUB0K43YoKWyWopPywT8ODvhc4D3Gi3QWaqNCybCNvi/doiWb6yMHXNb7tE8gkv3QFnhI6rfXeaYxUl6bgGE5Jw3+99fGemGj3Re8K3bFyHmzQskL1qwTzYa49gaWorp2axv0lH7AykP6Fn/VcAdeNxs6mq6qLySCNPVVfOVprDsS9TeXkvxhPrTiuRsVV8E9bewPMWgo2Neej7JEOBrbs1jUlGDi43VZZgrioT2hNtwPfdDuJW/A67n7oTwwvdgcaLbZISSr4LIrb2a23iTBk66eFp1rZPgtKvbgk8eQuRvPqU2SFDh+0HuKtuuDm2sHPXbzwDHxlTyZSDpbRub8mpPCIGFmgyYK44SR59JuWuyqUss2AYn43Xd9L8wkCt8d0IdVHomeBvMzDVTwI18zMsIHjGGrFLCTYW4cRATkrdRL32mVE3TPPTsg9/LWMLY9Eoxd5vGR01I298F34dPMhNZM488aqFrOWkrufWu+ZG/Cvr+Tgh5VAGvnSqG73wqfF48WwHnkjqhU2/+5VYiog2XMQTAAAAgAElEQVSnqzCSWQXFlshak/xSqMwc5cStDajyKhwBKQIGgwFOfvElxMUnSLP5uRsj4A4K0zU6Rv0m2LuTjJO26njyUo4AR4AjsN0RsFdvWKuvhpcWutoTdS0jbXtTfkmk7dm8SCJtL1RlEWnbmf57gq1rvIgWPnR/2QmOxG6dX56gfuoUYkpJ7w9zdYzHqqtRkPH+NbIixUVm9sEFn5z9PpATcov6LO32V7VylPaP52M1ndRXa6jtJCu6myUizMsY31Lab/IbAvE02Wxq6Seto3ZeP9gD/6/3edgVcB1stWpZ7m+G6ZS78P2r5+Avp6y7nSz4zJfmsDg2A6vjfRBauBNy6y7CXEk0EUBq8mFZeOU+SJFbTFpr5MHlfQNDRML1WHCN3D9VRc/f4EwdVPaF0/movtXijEc2rW07uo3EpMXKWyxYW1oBJEoifnkUVg2CO+uRljoI3P0KZN34EhoepNAzMJBrSnr2T9eQ/H5pp2B5ZQU21tch7ON/QP79y1uURGjW0NIKuugH1HfLiNF6Zbw8Eb7lcwE+jAwleZDQwQXz4B9+BKOV7ULjjQ2YL0+A+PwPIbLiAOVVjQzCmzEhtMj6c50PBNVXwer6Ormezi0SrKXkAhc1JNP4ncPqGxOk7VbWFqlNw5D54u2sYZjK6geNv8kxjm5ASCToHoXSM5N1JVTanabnuKFDXxAOyVHe8I9wwZ35KyGfwPO+p0iu9KJj4nj4PKALd0seDKzpTnvLxYEVTraLrlWYmmIWYsc+WEGOpWIjJ2Vi6IH4V76i3pGgQl221RAB9oiI/9No5YsJ9Tlz0WxPH7yuaxGYr0iChapUcVAkbTH++HZMQ4WN9L8wVi3ESkfdmX/Mflf62xEbW+YUWrFXjDOP8eYxhuwGmLtdFyyYo6lLJG9DfyLoc1vG2Gqdkdlm0oesfU6bt2LM3dLBPhPS9u3YEPgw2bhpgbV39Ch//zt6rSaPFrqWk7YShJ3+I3+iG+55FcPz56tAlz8AA/pZ0C+vwNL8LOiHBiAxpgreOlEM70V0w/gWudvFmjobCVtmgVsKNTV27Gyu9YZnn3tB+Hg3SNDb+ulEwlF49jlvMP25gv1NQuyhF+BZk3Ea4Dobn45HIdboWQqEvkzzxH4OJQBFaBlNgAPPyetI5KfyF+BAwqQkEyz0bVLF7os6700sN+ekPKZQR15m92CKDeR4SuQRcd+sI15LOtrEyvQeScrtOJVjIT5nhI031EmfPZNn4AW47mTPR4ykRZn+8tdXoaCgiI7ePtq4X7MDJl51iwi4g8J0uo7ZIjZqzRhp+5zvabVqvIwjwBHgCHAEOAIOI6CFrvZEXctI2+6UF4m0/booERoyXyXC9nxVNnSk/4GwTa77GnQxbwNatzqactpuALqRtZZw0QwXldGNMcbCQsKhSZdBZA4jorCPjBajW1AkFO2Juxn7X6ch/mXl+FtK8pWdCyGZMD6sUkJSFxeo0ZppWW9qiatUX573mwde8Pzdi6CfNf0tKK8nvUZru5nU+3D83BladMJ4uGoJLasQ1/ILYTBU4k8LWhibc6mnjiwa0eWyWkKSCi0Xpha2Rkyr9e2OZfklZYDufZWsN1HetKYLJi6j0eokusZImCnNKSu/CCLiEmHNgrtlpTb25FVfj6Z73JdZQ82W5+cg8ugOiP7sfVjefD4ifnEE8PlnCePy4v+PLv9DyC8xxq4teOAFYR+/zqpt6TgxNU0kZmjZPkhuFDYWbCwbICjiBj2zD674k7z4PzPbNUxkM1rBM1J5YXGUnrmS3BMm1l51o8OwIy6U+njmwTXY4/cA2nuVn0v9whT1kVJx3+Y59E5WUJuJeVOrVdYBWuFKXUFWVtbSPHMvhkAgkrdf+kBPSgWrrtlx3TAP+vxQOB2IsX7Pwp2CdyCy5nPq/0BaLLwefoTkRutkTMyqEjeqPOn0tOraJ407jo9xZVP/KWzAQIIK9cBggTbrqmrzI7LmhuA5g20Ykepwtba87MkgMFcSA4tNxtjgSNquTgpu9p+MRM4btSe5nP4XZjqGaBB0543ue3myjsD6xioElu4E5nECj/j9EGPJShN6eMD3TaOvsBEAv6O4YvNG3+amOiZLWU8QJCnE3M3objchbY9mJsDbsc7bdMXkceZRC13LSVvJHXLej/xV0NfUwWsnSuFy2ebOmPVJqMmsgYPnS+E17xqIatr8Ubg6DnkBpfD82Tootdfqdn0IGj5lZKwdx08bYdCmGLcCeWdKHmKeCgEqwRcYwWdGtgr9mhNvsnwlMnWTyJO2JfJPSjBSHQkpTP1YkVneBmSySOeleL5JODNykRHGYt3NcpN8IU+cy+Z8xWtsi3KZtNnscBMHRnSatBHHtPHEDGdh7krEukCSy4l1G8dRqUb9Ks1T1kaZpJdV0uASLWrfee8DmJ4xxpjSoFuTLhgxXFn1dLk6MwHBiRfuoDCdp2NsB87enWSMtH1Rd8L2QXhNjgBHgCPAEdg2CNirN6zVVwNGC13tiboWSVv8dKT+lo5nytIhNf+4SNq2p/8JmEWZ7sAOGC5tUYPRprKBTWs+tFC0lqasWKziwhAuEKGV7cR8F5FneI2xJtGq11pqCcqihSSpO1ZLbZam5sidsjW3eUNFTdQnWjXZk+p62mjRKKrU/vihXfd8oCniFrW/VVFkddjsj25B6v8cg4rsk4SfYWUWWof7BBfJXeq/B5Dcw0W6/PbbVsd5EhX0fWOaDhuErpELlV0jzywOEn5Nw0aLJLQ0wWewus/ollgu0IxeT+ReXVOzvMjhayQ9cXE084MbYl9oKYvfq0daja6zMbYp1uuMLaZ6hZ33QVf8NuiifWF8wrhpoKc8n9oONao/F+JgFk6Co2IhtuQa+BW/BYsrM7RJ4B++l+FHD65B2PMHIffgXbHlwvAUxPzxBMmHca4bhwQr2aEsHyIrcaOCNFWPDMIrAffp+f/Rw+vgXV4I8yumdbB+YNFHEJCjHG9P2h87L+nyo1jOoGA1hHWah9PoXuO7B+MdB4VFEVE71dIP5dUCgRv0wiGQxpBmfdtzxM0i6BYe0/rCLLSk6eAvDy7RfL3yviZM2SaKfr0Qm+9m9j7QFb0FkzPtkPaOF+FpaUxrutPeckvjYL4n6Nrq6jrYu/cYffBcnqTlSUlCLEd5HXaN2LEP5smxZPVccYz77y8A3/2YkKDC///uJOMGDWfIsDJvoHEa/dKo+7bwPLrGDU48uS8CcwXhsCT5LoCkLbqz346JPZPofQRT6o7LkPyGebzy7Th3R+eEoU7w+4404fXckqlV9sKI4KWm/XE+VUXyFt8/qwtL0qaan3eOF5jI1ziUBDE1got46WDRLQ2kT1ne5eJceCXCj11qdpS//x29VhNMC13LSVsJws76kb/UUAcvH6+AqKGVzdGmIeOO0TUyc5H8aSFTmiswkFYBz3xdBzXWQ+iIM1itqrMcw9bELbI5oVtTZYtprxJxiXlWCFCSUNZWRoqaEa3YxpY6CvUEcpjJJBChJkSzLaTtppUva2crichuhnw+8mub+lOSU4m0ldeTXzOhbDoqkcl477zhurfconWTZPb2lllD2zSQaiXb8TG3iFbteIuFSNqiO2QkVp2VOGnrLGSFft1BYTpLxzgTOSlpu113djoTP943R4AjwBHgCNiOgBa62hN1LSNt21J/T6TtucosuFIWI5K2Len/DRW9obToEfuG0SrPdmSVa4ZW7IGcNvtITaWeWkcySTYkylhCsgwXjfAjdV3KyqVHtOxDS97iLwKk2TDSa744WXVNsF5EQslaqvGOExaqHwkL1dbqY/mVtMe0aDQ3b99GTXRXnfzKYSJc343yh1/4WydTJxp6oNPHCxLz9kFMzXF4NTIA3ooNgblidJFs2SUcWmfhAmdOhTfhu7jC1hBsmaHz6zAiMvp3xwGJrsH8BlgzsHUQ28dfWDRAdX0jhMcmErna3dev2Li46xEElr4Lq2umv9MwH5+/mUXBckfeeGNtBUoqqyHocQwsavwbDy3p0EoV4xdj6qsuJtK1IuyBXAwi8iJ//QkMzTSQvGG5FyFBFm93xbBA7cuCjaSqWUc2ZCDxHZYUSOMg2dmVG0bP+7EQwXodXVRK09L0HCS+eob+jyLzDlPM4NWJfnrO5ysSyeprbU74X0QraLSGDszOgh1xQr/fv38VrpaaxuJNrbsKfgXvwsDQiHQoi+doMZ3des1iuXTTSFNrOz0rse8Lloz6uXm6Dth/GWL/fGpLzyEOjLG3cXE7/IXDsDQ6DNExd+C7t7+B/7hzCaKahBjTRbI4ymcLMuHbt89AUOG7EF68G3TfN1o4WZyMiwrcXdfiusitWw+hu7sXpqdnwMvLh44MHswPDhY2ZGD5mTNe0N2tbN3N2rjL8fGvjtHzhPIgQYXPVWtYrlPFwzj0OA6+mzEZrRq3p9WmU8F0Yef6nEBYGWwTR0TSdnnA8U17YodudMKsv9l3hex9PhD3F+2+77rRVDUXZdYwQjpd2jF+95laMA3/MN0+SO+BntRKqorkLb4XbPk+Le3b3vPmkXQT+boniiFCIeauf12lCWmL178JdOw7j72yal1fC13LSVvJXXHKj3xDD1z+uhQuN0hcHLU1wB82Y9kywpaOXzSAcZ+nHmqCSuHlyAGJhOqn/f6lWyZti/2tjSOQrsySk6wuZdadWGbJwtOchDMlU83LAUyITiIiLfUvI4Rx9yC6HUZrWzWSsxbdJDN3wIzklWAsksbYv7GcZDVz57xJdpKF7yaZKXXZS/Iza1/TuUtGNJ5uzlfE+1AC5MtcKYuWrwpzxPkLhPPmfTOzPDbOxzioJRfQm/NPkJGzm3OKRffW8v7RStZkDmzuwmhMPrpPeA+k7WFTDlVL2028VetIZ7b1cyRsxfvw3AsUx5YRrCymLbtGK1l0mczqs3Lp6NJyRgR3d/eQu2XWDo/YlvUr7QetfdHql1nksjpbHVsq23Y+dweF6RQdY+dNs3cnGSdt7QSYV+cIcAQ4AtsMAXv1hrX6avBooas9UdciaburuAGS8j6nI7pEln4aM/4GIQW7wc/nbVpsVcPQnrKAiqu0kLK8Zr8LYek4SQ1fQWTVIWkWnU8vDgC6LsXFo5jaT2FsbjM+pllNAIzxijE00X0bprmZGQj8+A0YHxkWa6M1QMgz+yzGhBQrSk7Qug0XpcaqjISypNjs9I++1+B1nf3up9FtNI4zm6mD5CyB+M3vMyedpQOuTg7BZOptwufTlOO0WPUv3uehvDpX0UUyWkthvFEchz4/f5fahl3ZDwWf+kKTfwaMVrQ53WpCOgf5OVpChzy73ygjk/Xf34P0d6+Sa+2ZTuM9lbfH66GRUcguLAb/8Cj6ZBUUw+CwMsG3vLoAAaU7oaRbcEEr7Y+5GsZnUJoQd31+GGAcYox/iqRtYZmwiCmtt9VztJrF+1N/P5m6MOhnIPzQmxBzYjesrZiT1+g+Wffd9yA4/wN4XHmYSMaO7h6z4TOvfwGRx94xy7cno6W9k/qPqDwISbWnwDv0Oj13j47eJHfISn3h/2Ty/vP0rKXHCGToUnctPaNIIrDPZHYwNMX7wXhNLqwMdwJare9KFP4XkjqMq1wYTxffCRlF6taRKAtuSMC6uOirlrJar0FI+W4IjYwF3YV7wCyJsE1aTj4Eh0eD7tvvQ/5R290ys/HQKpLdz5jf7IdjuquE2R8C70D39BQkN3wNwWW7YGl1jjWh47RhEb5z7wp8HC24jg/0fQcMk5I1QZPa5taf1nSptXJZ9yaX7q5rkZRF0hbXOTA9fBgESta2WIZ1fH2DTEhdk8lKLGsZZuzI6i0tLYOrPsE/2gclZ4JpvIWZeXq2au4kOHX8kfpuGqcjqYzG6c2ppevB0manjusqTLfnOEswm+ELiyO94j3Cd+1CZ414vZ3mXX45glz1sjnlfeoLEb84ui3nyuao1XF4qo30pLQ/1Jv9k3Um+A2UCB5oevOE/PaEUnoPjDZ0m9ST9qPFeVVPlIl8A5MNFHPXsLRkMu71knzSrWzMhJZG+LHvDZM6rMzeI3vX41H+/nf0Wtq3/FwLXctJWwmqzviRry+ugu9cbQWpYfp4ZjmYkLUigVsOUVJPQiPN8N6ndSA4YZEIauG0+465BW2hFQtbsfyO+Q8D82EEAtCEmCViTpkAlLZnJJ08TyTrzPqREZ9EoFoaZ5PAkxJ/EsLQRF4UgJVJCD+BiJX3v9mvGaloHQd5f0ROMvk2xzeTSwqOKKepTErkNmy6braIpQm2CrKL4wplYj8m+SgHlhvJV5LFu0GI9cvmhm3oXr0gceNsfn8YWWsJA+V5igKJY1hqL6mpySmSpoxgxQ4ZUcrIVHaNZCsjU/GI8W+RkGUJCVtpHFxpv3IyVmkczJPX02JsJt92PrqDwnSGjnH2PUPS1v/2a4DukXv6Wp09HO+fI8AR4AhwBJ5iBLTQ1Z6oa5G0/aC4nohaJG+lhC2eF2X/Ly14hB3dr9nTEdJYDf8deon6bR213xUwE2RheZL6sOSGdgM2yK0quvJFl6zFXb6gXzInLjDOIxIjjGwpTk0gy8KQk/tgeVkguurvJVEdfa/0BzOTRPmIJAnGDX38y2OAhKJaGpqZogWje+mWXeoqtccxUHYkbg2tpURi/cT3BnyUEq1UXcybL0+AorSLhN/vdScht7cT0K3s+3Gh1AcSYyyhZUT4zw7TOEjQootsdNUanXwM/HN2QPiLh6gM5cAPWrnmHLhDJD/WZR90QT03MAFIADsjFX7uR+OzezQ/OAGtITnkDhTJCiYfxhsuuOALMQWfweLcNKysrEBTWztEJ6USqRgWm0BWtguLi6piNgwlEn56w6hivcGZeipHq9KN5UVYqM0UScb58kRqU9fUQmNOzcwq9mFPJlqNhz1/yMQNbo7POXqWJ7qNFlPyPsPv7we/ojchozAOQqPjFePstuYkUT+TvVuPiTqrn6O5ptfcI1xeeXQOfuXnQ/cFrdgxNaULcS+lMtYPxlN93XPvQtUVwQp8Y2mBLG0xDvNiQx4MpAXARPI9EV9G5v7qgRe8HRMkdjc53yP0lXCNSHOxQOGkYyyf6qILbLWEMbRxkVoX5w1Bfz0pbv7ANn0DgzTnjBthNE/2jlHrD8uQrE7bIWz66M+phY6+Nvjt3Yv0jjgcvBmndqKYxkUiWindqSym+tFJx6keuph2h+TuulZqSYt4oftjS6Qt5ltzj2wNc3sJgK3WN2zGlKy4Fi0SERhTsvxShHi91b7V2g0UC2RNX149jTNY0Ub/C90Z1U4dV00mXqa+UcAwr6d3qWFqXLxHM6n3YL5FIN63G36Fp/0h9KcHxbmWnA0G/M6w3ebpjPn0TdSSfpH2jfqwa9T0WenOqKL/+6HKNsIVyVv8ToZkrrSt1uelXUFE0rJ+J2YHSF6Mcc/y8Hg2PwP+485lMa+sv4eu5xcNYp60vj3n1nSAs8q10LWctJXcHaf8yFeytG2og2dEolbiJvl4HdSIsWU3LW3DesA2D+Or0OnjAGnr0w3WHSQrEH4mhKAETJNTgbRjroZZESP9hGtZHerXSBDKXSWzPtjRhBSlTEa4SvpglRVllo2/WZdkVLAglo+nRDKytmQ9KSGITd03M6EUjgpyKo0jtNwkXDcth+VkJmtXh1axUlkkwwpEqgJeRAoL5DHWEfoW8MJz6tuMtDXth43PolrJ8ZOIQafy+qbllshl01paXknJVeyXEaVy0pZdYx05uYrk7YHDRymfyYZ1MA/L5PWVxlHqVy6LUh1rYzN5tvPRHRSmU3SMnTfN3p1kUtI28XG2naPx6hwBjgBHgCPg6QjYqzes1VfDQwtd7Ym6Fknb3SWWSdvopB20wFEfqN2C/890QuzVkIrDgJayW02MzLHkgpb1O7c0BimN52gedwvfheYRc3eQ6Aov8bWz1CTs6lkiqPB7SOT18+TWNOy5g5B3xNxSLqPbsgUvdjZa0Q66770DwbteFS0ek88fAbRcxDijpcF3oCYmEAIeXIa/fX0IKjNjYHHGuvtlNjfmhhnjE67PT9NC6+X0KCJrpgzKpOPa9ChUx/nAoYRD8KDwLfB6WYjvdXeT5KnODiU3yei2LnP3DVpYi3rpOIyUmW6gG5ltJkxbRjLBMKGHgdw6qL0VBxjLN+KXR6kdI0qVjkQw/ukkZO31ZtPZ8hGtfHGMWp8Ei32M13ZBrU88xO/7EvyS3iLZ/cI/Bv+Qx0SsJcSlQm+/OkEn7fxx1QFIa7ogzTI7z23zhsCSnTCSeRtm0x5SjMCFuiy6TxsrBiJII+KSIDXb1I2vWUc2ZKCLb8RgtFJ4JrtLc+k5rok1kpbybtg99Pt6J2FQWWuMeSutuzA9QX3VxgVLs+0+x7mmFQhk9+vhR+D0fX+SGYl2lDd0/9/N+oyvOwEJ9adES+/iU/4mdXDxVBcWCaVVNbBumAd0oYybDhbrc+DmpjVv74zRjXdAyTvgl3YamtsEC/iluVlIPn8U5DF78zvuQljFRyZjWbrQFe0EXeIhKD4dYFaF3d+Ev31Nrtgx3q1aQvId30Xotn24uBlKWqph78kP4dVzR8Hr6Hn63zLMzZJscXWfW+xqaW0Vnrl7BX598Qyk5O+n513qRl7a0JrutLdc2rf83N11ra2WtkjYoutkg0F9xRSxYx/EgmHJjnJ8nHWNzxW+H5p0RpIf9Rp6UHBm6s8WLGtZ3PjZ7hGSoyuh1JnD8r4dQGB9USBtYc3onWE24xEYWoT45w507ZZN0QsCbjZjCb/H4P/KxvoGy+JHCwj0TlaQbpEWI2mLsWSlqSu+ZFPXC5vcJjYt8HFTkjMTbtYMl7hDXltfIXnlMXc/z06Bn/gaQ7YMzc0K36MXHfMGJJ+b/L3v6LW8f+m1FrqWk7YSRJ31I1+MaTuySYuuj0LUdQlZu0ng7s1kO0RXYSBzM6btskRAK6fOdY+Mg9tC2pqSh4LVpgohKiEQpUSd9Jymba+lLbkM9obrh5ibYAl4CmQobMawNbUyxbkcheveCkQnycOISSOByUYhUpLmJpQhcSuS1jQ+Iz9ZC4WjgpxmuGAzaX/MylViESv0zO6LqeWuOOpmOznZa2y72Q7rEUGL/QnzJ5lcSNpaJpfF2Wh+ogVpi5a3ROCLLrkF19zMGteZpK21sTUHzA07dAeF6Swd40y4paRtpE+SM4fifXMEOAIcAY7AU46AFrraE3WtQNrWWbS01WW+Dbo772jm9jaqpZ4WQv7zrhdczBNcdyKpupUUW/sZxNedtLnpnVJfuJ3/T1qwSaz/AtDqjqWW4GxaUOqoaoaAz/dBxLGdkHz9KyKqYrwFF6UYO1aa+manAeeR1mlKZkrrLOlnIWL/2xC48xUI3fkWhL3/T+Gz6y0I3fMPCN79qkgQ4/ce/BT72U5ihj1/EDLeN8bcxJi0bXkRhPG9qhKpKOJ5Sc5j+N7tb+BKznsQnvc5zbstIg8WVpYB44Duj9IRqRj1qwNUhsSwpYSkUVT1EUvFFK9sqrkPhkuaoSelAlpDc6DuTiKUXwgjt8oZu67TGPnHHlrsw5aCmD+eMLEwtdRmeLaJrC4CS94Hv7w99CyE3L4Auuc/JjmCvvchZOy6Bo2P0kCNXOubqqS2fVNVloYCJMcnCoMgqGgHpJZ9CmgdOrtkgLtFGZAbc4tcJGPjzp5eIh1tjbOqNCAS0rjIjJbQmJD4DzvwD0j46oBSdcpbW1+Gx1UHIbL6EMRe8iUZJgbZmpB5M9xsoNafeQvznILSCsiMjYD7ee/B1+m74NGrX0DKWxdhxbAIkUd30PM/1t4kNkQrZlwAbhwSfgfU3IyleeYdvifWaekQ3C6PTQgxfMUCABgoiqH/hUvFOWJ2SuNZCCw4CHGpAnnVmBot/g9mXD0FE5sbMcIr90F+u/X40Ej0+6WfIjlHGsxjPtY2NhO2w539EPLMfoh66TNYmVPeUIFxRmP/6zS5a0e36oklGXD6iIDL488/ABYXMC7wJI2n5vYdJ3zu9E2af1TSAwgrfh8iKj8GjMP7JJO761rclK4W0xaxQ+tagbB1jtcAZ9wf9HKA74iO6EKxeySqlDYjiRU0OGEu2/V9gp7HDT4oB+pcntwTgXX9BH0HkEqnzw0irwbSvO1ynvnBDYqfzuaD4R7wGV2e1ZawY/1vp2PHuOCRQjon1NnysALsOzbzOqPvHSWMO+OUv6dK+3PkPLfdG+JqjYQ89oXyyWPu7k+Nhd8GGb9XrG9skO7E7/memrTQtZy0ldx95/3IXwV9TR28dqIcblZtOkpeHYa8oAp47etSePl8BVwu3oztsjoOpWHl8PzZOijVW7d9lYgPq1V1W45pW1Nly1gC8WdC7CkQi1KZ2DkSbSJpuZlpZm1JfQlEoFl9KTHJOhWPcrkkJLEJubrZQFFmSZvNakaCVN4/VpAQtRK5qan8GjNNxhT6k+OxOazxYNJGyDbKZKxmhpU0pi+rRn0hSahE2m4Sy1LilbWjI8rL2uG5N9SJ5K2LLW0352HyDJrI6pwLLUhbeR9ySZ1J2lobWy7Ldrx2B4XpPB1j+x2zdyeZlLSNeSC4Q7N9NF6TI8AR4AhwBDwdAXv1hrX6anhooas9UdciabunRJm09aoIocWNjIdX1KCzq+zFwDsUa/JMfgb8+OE35La4pt9+HY8xa3HhBV3U2pIMq6vwgwfX4Fu3z8Ce2I/Br/ht0JHL5EeAsUmX9YsQ+L09EPMgAgL3/R3yH3hRDNCIz/dA4IevQsyXxh34bLw/h/nSog7GzlRKq0sGSDp7mKwHy28GkkVT7sE7gLFu41/5Ch6/+AkE/WAv3P/OLvjPa1/BF9+cgoDXXoXAHX8lIrYjpkjVlTC6WsWFxcGCBnH45d4GWmzdERMMvwq4I+azk9yWGvj2rQvwWx1i/yY0DadC7J9PAVrSYjqbEE9zaoi/Damh0EsAACAASURBVHXnrgNaRakltKbAftTIS7X27ZPjcOGaL5z+7T7IDdiaNXfd7QTCAa2a1VLXRDHoSt6G8IqDoIsMgLzSIkBiLrTiQ3KTjJbCFZciIOl/z1F/iC1ZWB++Bwujpgt3aLmNBBi64JYntKBdbBBiA+sLwqGtJ4EwOpd7h7DF2MGHA28Ac5GM7ePTMiEmOU3elc3X8X/9ighBFrc068aXRETODPZa7KO025/+/9D6MjwqHnRf+kDZuRCL9euTIqjP+cmtbbLAjpGgxtizH8UcJkx0z74LHVGFUBH+UCRO0fKcpdqBGJJxcWWGZRHZQ6RPkOBaPTkrFyITlJ+dleEO2OPnBc88uCq2r+gNBR3+/4dHwOT0DMSe2ANplz+HlqwEiDjyNsmRcesL0KX+A9rHzK3yxY42T/DeBQTeovnIF6qxClpioiVwWVUNMKvD7H0+8m5grn8cIn/9Cd1HtEIKSQmHG/v+TvKk3TpDx+6yPCh/GAZ+BW9CevFFsz6kGcyy8lfeV+AXft7QnX6Z5p3ebN7Omu60t1wqh/zcE3QtWtHu3XuMPsw1MiNqR0ZG4cSJc2I51lNzkYzYsQ9iIcdSjo+zrieb++i91pdRLQ6R+OoZwI0zzkzNgZk07tKMsFkArRfx/7furm2625my8b6VEcDY6+hiXprmiiJhocZopS0t8/Tz5H9cgLSdxu+5+N0Ln1F8J/OkjgB+h8TvgNKE16i7pQk36yGmzHoZyVupHpfW1fI8o/kS4EeaUL7hWWOseyx7Jz4c3oox/f6D39Uax9S/A0v7teVc/v539FptTC10LSdtJQg7/Uf+UCucPlsMz3vVQFTNEIwbmKuDFViaGILSzBp470QxvPawFQZs4VAlstPp+hA0fLoFF8mfNsKg6JZZ3qn0WoG8VCAWpS3YuTnZaE6SGolQKUnIegAwI3k3i6hviWWp6bUCIakos2xuMnLQtE9hYMqzFNNVYkEs1Dbtn9qa1THOlc4U5DRvJyGPJc1N6xmxNs0XGlCeSMpKOhFPTe8H3QdJfWovJXwViHL5uJbuJRtSXl/I37yX1nBjnWh4lJOecpfE8mscWk7Coovid97bZRLjViqivD6W2dKvLXWsjS2VY7ueu4PCdLqOccLNQ9I24PBfKaZtUlAAjTDTMgv4UVgjc4IEvEuOAEeAI8AReFoQ0EJXe6KuRdL2w5JasrT9qLTGJKatT9k58Mt/C5LKy6BudHOTrwMPRHxbE5FW9WPDtBCCCyKBFSfJ2s/ebiv7wojMMazYFgv0UU05jV01PAC/D34AL/pfgKQGgbgMKd8DGFs3/6Qf6Hx1RI40ZwjWpU0haUTaBhx8GwYHBkQxT+WkUn+vRwXRcVLmQm1jfQ0yrpyE4L3/A1LLQbEDyUlSUzX1kZ+bChU6fxo/5Je7aUELF7Wy9t6C7qRyctMsaUYWeWiVJ00bK0u02BpXkEh9lg72icUJ7c2U96t7l6C8R3BRO2sYBua2Di0e73zvA/j/bpyHQ/43YK5EPS4udryxsUakJ5KYW0kns5JIJnwW2OeXAbfhn7GhcCInBdBaOLWzFZrGR2Fxla1fGEfCRVV0I4vxbNVSdX8kLSzG1ZyCgMgISMvJJ/JkaLaR8gs6jBYW2M+qYRkG8xsohmroTw5A6tvGRT+McYqLfkobBpb7m2E20w/QlSTGW41ra4T/jQqEU6m74VbeDjic/hhejQyA7965RPcJ7xem4dExIvZaO7rUpqFYxqyC2sIFF8vt+Wn0DDUkRyrWx0wkajHOc2l3gBh3Nf1CID1zGAtYKU0PdJv8byjVsZZnmNNDerQ3/Oj+l4Sh/5F3Yby9jfotD70PGddOQ+KZQ2I3MbWfKrpQR4titIqe6Bkm3CprjRsXxMabJxnx9+jZSuoQFmmZO8eAuAeQmxhLY/dVCW4/11aWoTE1CkIP/h0Cd78M+Y+8YHHG3IKXjTE0Mkrj6147BaH5e8iNMyuTHnOLSiE4KhZW19ZoYwD+Xzfp0sUqaEEb/sJhCP3pAUAL7zsBN+Hhnr+B795Xoa1akC3+9EcQc2I3uXrX5bwFEX8+YhI/V+xs84RZNiWXV9H8HyQFQXnOaQH3kn9CUPn7UDcYL2/m9OunVdc6HVgrA2BscXzupG7ukahKev28lZaOFaPLehyXkTXYG26QqrikvNnJsdF4ay0QWBntMSNt5yuTYb5iexLtuHEt54Bxk1tfZg09s5NNljc9aYHzdugDydmgsvdMpoLX5T2mBChuiAv6/l6xnrh547blkBZiZQdO0KtOUaepJxf8/obeUqTpb4/94UiGqSz4nbR4wHOfAS10LSdtJU+JS37kr89CZ1kjnPMuheelcW1PlMLBR42Q12/bj16J2CanizV1UPy+PcRtKdTUKLuGMemYLkyJR6FcKc+8pZlrZQViD1sJhOALynFXN4lUExfG1I/UildBHqrDLEWZ1esLm25+BVlpXAkZaE4qCv2aWMeSPN5wXYzzyuZtXlcgRpk7ZaynREAayVXqSYG0VYrta963bHwTrGVlm5iazItNQzxiGwl+2J8EKxrfBaStME+JHKJ8zj/RgrRFKb197sA7730gxrVFwrWpWfjxqkS+sjYnv/iSCFx2jW6W0eUxJqV2SgSw2tjU0Tb/4w4K0yU6xsp9tHcnGXMT+KLuBGREe8OZhgE4mdNJXh021swtG6wMz4s5AhwBjgBHwMMQsFdvWKuvNn0tdLUn6lokbfdukrYnKopMSFvfkvchIHI3HEqPgz+HCm5X1TC0Vva74PuwIy5UrPZS0D04liq4SB7VW3YxLDaQnGCMKnuIwp8+8oY3N3fRd05Pwn/cuQyvRwfB0EwDRNccIyIjrOgQ+N/5mkicsU2CB91HJuz+EgJ3vwKBJz+Gufl5SOlsIRLkamke9MxM0blvTZlEOoC8exchaPcr0F9rPW7fwZhA+OHtCxSPc2leT2Nh7NCB3Hoo+OQhLXThojeSVBh7DRcU0SoU89DaVp4WqtNAnxsMzzy8DgfTBPI5pFEghn9//yKMtJZBdus1kzhfaPWL/RV85gtfZibTnNoTbpNM8v7l13UDcYTf5IL9i1s/vOcFf31wCS5G3IXjly/Agc+/hrPpSfBRSjT8LUJHc2BkLh5H5udMhk/b4UXWsJbcGK5vrAHGlcVFuszm6xAaGwdxKemwumrcpV7QcZfK8VlQSgN59YQNuubFhAuAAaU7YGXNdB0DSW60ThqsTIPbZXkUHw1l/umjm3CzNBX8S96Bws77UNjfTfjGRN4UXSRjv5l5hRAaHU/EnpIcSnkTDT0Q8YsjYjxmtILFuLBo4S1/H7L26xurEFl9GDAmL7pIRgI7KjGFrInxGVBzVR19fBeke51gXdl9XO5rhAP+V2j+flE7IDRpL6Db5YjDb5OL5KY0wVUxuhXXG0bovjQPm1sgo5VO8I/2QcxZwa3z1LTRElculKG1FH5+9xt4K1qI7bu0qqd+E0ruQtAXh2ns9bU1k2ZZ9V4Q+uAdcjEd8tGrUPn4EeD/pjwhdkEBEaD71vtQ1RVB/SKpL08jY+MCKd8pkPJIlCHWY9UdgK6tQ57dT8/xTOcw3LjyOQR88DLcOfgGjA50i131VRfTu0kX+HeoqAmh9mrxSNH6GjdiYMJ33Y8eXIWhpDsQWfgByelfsgMiqg7C4Ey92bMif3bsvRaFVjjZLrpWYWqKWYgd+2AFOZaKjZyQ2ZdRRc8MuqtnCYmqmD+dYpdOOZZ/E07uvqWd4wYFeWxqaTk/f7IILA+2mZG2iw15FOv+yUrmnNFRhxad1Imdj5S30v8KhnXgSR2B8p5gk++SWBu/n8uJUsQXcZYmJHErLkZIszQ/j675BKr7TDew4ffBjjHT784vBd2Hy5IwCigIfn9L3wyXoJVg8ve/o9dqcmmhazlpK0HYHX7kS8TZ4ukqjGRW2UjclkJl5igYfy5ZG1Ig/OSuaQUyTYjPqUr+MdKVYnpaIN/MSFi5TIIM0tigRnmUiFBsv5nPrHE3yVZy8SvGFzUSqpbIQTZPs/FYvyaiyuU09i+tJpLUm3IgfhOjmztJlUhbcS6mro6ZbAwX8T5s4mmUGUAgfoWYuvJ2rD0dRWJWRtpKJwCuco/M7qHwnJnIKY0XLJNNq0utSFuUB8lTqfyPdP4iISuNPYv1MDEClrXBOlhmL2lrbWwabBv/cQeF6Yk6hpG2v3/4GZG2jyprRdJ2fcUmFw3b+Kmyf2oYR40njgBHgCPAEVBGQAtd7Ym6Fknbj0pMLWzPV2WDV0UwLew/TvyU4rbi4oWlGKnKiJrmJncIRGfl8ABZ9mUXFsPncZHwbz5nQVf8DqTXewPGpJybtx5DbEzfTrK1jRrjVJqOZnoV0VRLiy8FfUYCJLK5jvJ8KoqocstIBvgXvQf+N18jYmTRMEXWrUis4AJedXIU5ftdPUt4vBVrtCL4n8f+gIQ0S1WRgrVue14qy1I9fu/ORTgSckusk/LNJ5B45qB4vba0QvFg0eIW5WEftMpTSitjgpXMhSzB1fHX+Rk015d1N2AgzRc21lYguGwXFHcZiXiMN4uWWJiQGMX7fSLwKlmLKo0hzcMYmQGlOyG/w2ipIi23dJ7X10XjpCQ9goXaTJhJf0QLxUh8oitGQ0sxrIx2w8bqsmiZjda3LHUnlhEWGDNRKa2uGSC18Rw9K+XdYURMPo5PgkWD6fchJF/RTTK6O8Y2SgmtwhD3vuIqmmth5wOTaqvj/VAR5wNHEkJpTogfWtgmthsXfZkbwZHZZiKjdwdcN7FcmtXPEbFXVadMHpsMiKsMjb0Q8sw+cqm7MCK4b06/chJCPnoN9GND8uridUWv4PYcN0rM6vU0ZlNbB5WzeU61Gq3KxYYAohvj5QVT8lxaR+18ojAS/q/PBfjj/ZugO/YOIAGJ3/c7iwRXx+jOGa+7SrKBWUcbVszJUhyDXFhefwQREZZjLmO99UU9XA+5TveFxadDwjqp/ByNletvHrc2uHwXFHX5wvLCPFRH+xOmSIZf8zoJjdmJMNxUA71tQqxa/x1nyNJ7fnmCnrXKvnBFCGKS08U4ugvDU0TUsv/lx788BtNdg3D9xG6S6frxXYDu1eUp6PhrEHTsVcquvh5NzyS+n+QJiTnsuzNWeL81jA3T/L+IuQVjqd4QUvQOxBTuhZDy3dA0ZPyfkvfjjOunVdc6A0t7+kQ35PhMSC3piUj5uSmRYk+fttRFLwj4fEtTzJ9OAoYK4Mk9EVjaDLMglW6poxLmCpTfbdJ6nnhO5OElI3mI3g7wf6U33XLMek+cpzNkLup6CDE1n5h0jdc5bd4mebhBBC2apYnI8hNGslxaptU5frdDTzrShKStfDMYbuwMqDe1vsXvcVEt9dKmHnWuha7lpK3klnvij3yJ+JLTVZhpaYbKIyoWt0eqoKll1g7CVtK9O5wSGWmB+HUH+bgMHAGOgFsh4A4K0x10jL07yRhp+8aNg0Ta1qWEw6koIX766qKwI35qYgjyy9JhesY05ohXShgUNFdCv97yznt7HpL6HvMFEXvau0Pdx8117iAGl4EjwBHgCNiMgL16w1p9tYG10NWeqGuRtN0nc4uMpK1P2Rl4VPwOXEy+QIv9z/regG/dvgQDW9Srfwp9COhKGBMSthjj8WZIGPV9MeUI+BW+Q3mYjx90JRqdlErWh3IrupJuHZEjy2vWCV4c7zeBdwHjz8rTx6mxNH7t6BBMTk2DLiIUgk+8DQHH//r/s/fe73EdR7rw//L9cPeur23Ja3ud5Lz22l6vg3KWKCqRFKMoUmImxQgSJJgAEARA5JxzDkTOmQAIgMg550Sqvuetw5rpOXOQiIEMStPPM+g+3dXV1XXOTB/021VF/kUfUNjxTynxjfOmbsk3NJDnH5eO0eis2coyoFazYq0b7OO4mHh/qY4LNvVDYWraWNbi7g6WISHH7KYU7lnBwyh2KGLvwroWFqZVzuY+FoMR0XiGNzWWaC6csfH0ZrgP9Se60lxzKfVP3Gf9tQ+X6LuZrr/ISKB/d75AHTmrc2FZ8MCLec4sWMZ+NTE0KBxIjaEfuJynuQfmGIsdCVmUt/0I9YR4mABcBnHzwuhErOaKGu92C1Oz7E4W8YGN0vT8CMG1LjbnGvuzKS41g5+psXFjz2Ldo9VMqwLZer6Idet/5GOmQ0xlNT0oS+X7iO/IocxEQqxeowRXfbByFSAdlo/iIhn0BaXl/PxPTZufLyM+sM4M+OEnBEtwAWwbMxP4uWnMSjDqwnWaW+Q3qfCB5k4acVb9w6JofriH5tpqaLI0hbr9r1FP8C16NGV9L/sba3mM1qKVY73qhQC/kLDrrKfPfbwpZOdx8tv9T4o8/ZEFacTBrZTrcZnCK/ZR8r2lXbcK4Oy/+zLNjS4PIncUaN91h/xMHgvW10HeW3guKQmWLj+Hplr5HrcNm63kYfkb4naR6eX/E1O+5XmKO76HctwuUoTbNgr02UI9dRU0PWL5DDQ0tfC9xeEUJLjfBjCAe9hZXUuu+95k/o4XPrPQh1xUdkWSd8hjkLtA24SGlWT4f31u4Tr94cOHHJsYgP5DU0g0Ivm9a4p3odFkVxpKvUWtd29Qz6jd0lZ0vBG5vJfo840YazmecMeN5w1riCRYuakuS6XelnnWLmeK+ZulG3/8lqZuNceZtuV4dl7r18BcS7mVpS1c/09kmeONr3+UzcHB5KbX1bwO4GADvitN4bmbQ8hNLAXAWf06jWt97HS4YkfsYDVh/crabX1oSqVZT/mrrx6RX9H71DlaacEG74VqzN2HXz2i795ypNQH9y3o8O7sXV1qUbfeC1kHhM96r4WPUW6L/2vtoK2i2c3wT74izvqLj2aor66Jaj0qqexoERUcLadyjzpqrOunmW+AgZRmpWpswbp+5dk52DVg18A3SQObYcG05RqTkJBKHh7axqv+PqFtx44D/Nm//xi1tq7dVZ7wdPE6wZsXAG2dg67yPw9346Ko8lAqLU5pfhouJWobvsElWhwv6YuXLLSltNgGbL2VFs6WHsL/acydiizdwDyNc7DLbNeAXQN2DWyUBmyxVttyrd2oeer5Hi3Np11FFRZukQHaeha+Ty5Fx+l5fwe2ChQ3wOJiWM9nuev01iYGanIeW7r6h0dTUbm2ifJGVAC9Ge7AIEl5czI1PWij6nsNVFhWQZm5BRQel8RAB+jnF7SYpohBm9HotNyQpjax8JV4lqYGIppeWKDf+rrSr31cKKu4hPzCoti1rN9rr5F/8IcsU2z+EYIFHdLhzERy2PMG+ex4mYry80ys4MkC7x1X/G/xe0tRgGZBND+/QIhRmpiexXPIyMm3cn17Nj2G+072tZn59XUxn4ZM8yaiqfFxYWKun93H6uvlerY+j8bTPOlDP1f63Os6tUS7U4PXGWotzKDMeAfy8X6F7mVEUX1aNNUlhTPI3JyXRguzGrjcPjbKcp0NcKJHc8aAs4yFfGK2X7uHHWZrFbXdqPzMrUt0wPcydZdbboyWnA/mDdMH0fkEC9bZxkKazAulB/EuLNPB9HiCW1jEskVMW30anmqj4NId5Fe0lRCzNj0nj/WPuLHLJcS1xWZe7/g9Q7Kp3mHyTnibAiM+tmq/EnKTZdO7b9YTSjzcsIrj9KzbKfIPvUbzXZqFM2hn5+YI34+7BZbutlU+AthG/PEQzQxohxMnB/v4mUm7YmnJovZDGRYwYWW7aKarlqZqc6g9wdMCHJ/IDaGBOF/qCbjG9XOtVXoWFLL3Dbp7S3O7a9W4TAXcFL9z5xJ93/US34/wE4dY5uhMS5CywOcGBe97g+/Fctb0FTV1zMf7pzsp54Cl5bNeDFhsf+jlSD++rQFF93qTyPfg8xR5ei/zKL4WyXGM0a+mO47Hnls0A8GIpww31/ie/+jycQqMDyMfpwsUuGcfBb+1hWDhHPnFBzwfE5j70T8odP/blH71JFVG+VFraR75+/tTbpF5E7jeL53qczLpzo4Xue9Vtwt60fl6am6IfIu2sPUSYv5GHdaA7sHqVv6uFJ/VLP8zcgsIltqBP95FBSd8LXjByhjy7/e9rN3zFHcazfKh+d4WC7qNvvi2rrUbrdeV+FfeiOFnRY0tW+1iHW92JT5rbcfBGvXwE/qnfeBkcum+Vn52+o3XwGxDIY2nWsYBXRxop7FUHH77ZoWowoEfALQN/mZrTBxsQJ0ad3zjtf50jgBwVu9lBdc4oKam+JfPUNqHV9UqjqcNMHejEtZwvNPpQ3dwzN12s7ccHMLE2ljd32shCupulJjf9S0an4ILW6y1dtBWudFP4z/5ivjfyqKFe2GTO99vpSrsk7ZrwK6BZTSwGRZMW60xAsouB9pWVBhbdK71JNn1WCfewABoeyHAybSp1HYrhCaLEwkbkgLabg20dLGElyy0ORVkUWHXkwPHclvBq7r5ydyjbBa3xCdSo1a0PFYtk22hN9GfPbdrwK4BuwaeRANrXTdWol9OBlus1bZaa5eTc6W2lXSgbz9emmsF2l4u9eONDofiO7yRcSonlYeFe2Ssr9GNdSuJYdH+t+A7hA9Sd28fgyTIkeAFAjz9i3dQeoPx5g1AXFjfBkfFUWljKsvWNrw0qMWMH/+BhS2A2aVS3UAfj/+8hzNlJifye0fSvpO8YRf25afkV/w++RW9R6HVfkznnptGgbtfJ9/971Hz4/iU4H3Y14X7Asxq7eik9Jx8DVB6bDkswC0sPgHMSfq1pxNtuWNtLRpzbDulO1laJ6HP4qN5Ku/QYmemNVj3E74PJ4b4vSn0oGZNqAJJK5Uzb56h1uK7tCc2iL7vfJ5GW8yWsMLfKMf9g7tVxEldKcGi4a9nPqOgfW+w3mDJqKbkty8yKDt8z/wON1OXQyf9r/B9uPKTbVR9yxrUHp3uZPfFiKmGcn5JGd+HB+3mOI7qOGpZ3CTDdS70rE+wTMYGoPebWwhgh6SHo330OzcHej3E2ppbaNQc7r3Dy/eRe97bdDDysIWLZNDJ8z40Ym3pihio/v+xgyL/fIRmBs3eZJIdPqfg3a/T9Kh2wEAdT8rF5VdY/qa0C/xsDGUGUE2sF401lNDiSC999dAcuAquDCuOnGa6ycIoejRjvj95nk58uEH4rjZvS/Hie/fRTVfyOXuF73vynSMs0+ScGXxvL8vjNu/Y1wmut5dKiMObkJbJzwE22Ltzl3crnRx7m8fHQY6m2nQeozBdi4nrvfUMW6/DFXlK/QWKqT5sMeyF/Ezum5cZwlbr/3bzAt0IDiHv739ksdmPZ8g3/R1KyzzLByLy71yluFN7eCzT927Hy5Ry+Si7Xc4NcOU2l09eptvhSz8/mY1X+bmGBXlXdQn3aclPZxnLLmmuu5Pi08y/Ob/dR0M1ZnfwMpljj63Vq2JdaCzlNlvkz7fZLW1FPxuRY82VD/jLGiz5RoxpxLP4bBC7U1fbAFThu4MY0RuV4l48TekfX7Ngn73vFv+GWVTaLzaNBhC/diLT8tDHw3HtnUL1DLFpBF6HIBPtA/wdaIkptODi850PSOLYWzTYLyw0kFB7kso6LD3L4FrvMjnyT4fp7n5zGBEwAYgb/9JpC362vJicG+D3C8SxV1OoLuauHGjSH7r7npsjnX/snUPtv56y/nd/vdfLyWKL/2vtoK2i4c3wT74ijr1o14BdA3YN2DVgIw1shgXTlmsMrGcDAozd5QHMFUvbpYDd1ar1WuxN3pTYcnM3nfO7Sr3Jmqu8bl8/3kSaKo4xgbbPuFieTBfQ9v1wbYNoKStTPTCJuGlIcHGIjySAtpdSzHMGuFnYbd5IFDqjXG8FbESz1jrIfbV4bZazrwTeprz7ywPPqgtl9/y0tYplp7drwK4BuwaeWg3YYq225Vr7dSnyRFkO7S4qt7C0vZV8iF0jb0kKYaCioq/bJA7A1/9wd6Ixg3iLJiKlIHFLM9q0mJlFZZVsSSgk0wvz7Hb5Wt4Fw80VoZucmqK07FzySvuCvPO30FJuboUeOWLY4n0gqM7SNZpKg/KlzBSm8wu4ze8drZn5vInXkVZOAJOiqk6ybNdy9vB13/06pvM7sY+Gm6pppLOV/He+Ql/ue5uO+vuZgJOUrBxqbm2jxUUNDGvr7GJr3rDYRBobn6CW0WEe1zfR2uVgebgXj7EwY7ZybRnMI4CRAA7l0zu+NIDeGnGDeVR6XaL2YEcaftBAA50N5J38OpXc86PZ8VFCbNLFeQ1ERgzNtpIcAmgrANPBg1vJxfWMXmWG14jVCrka+zQwyZCIiIbamsj10EemMTBWdWyQBTlABMRBDP/9QZobMwN3PUVxHBP1zbPGbnOL27QDBzMLY1RVp8Ucrak3W7JaDGJwIW6Si1p9TK0lgW5cTqo7w7Fvi04H8PPRX6q50qso1WIGB9esPv4dgG3XgnOsr9i7u2hm2gxawr1taEw8W2ibhCCigXINsEU8yNkh8ybkvdRo1mXLY5e5ah8pj9SlkG/B25RVcZYAMgOgRYzV5ExLTzVCD/fTEX/4grI/Ok3jGT40luJO8+0aKNpens/jddeYLUal31L54mAHuQZrcWUdXjxEAbvfI7+dr9LQSDvrANatkvDM45mI8tolVVb54PAIf88kFi/cLIb99oCFO2B9p9mmEvrlrQv0VqQ/5XtdZdfMoS57yfu0K3k7+/A9hdUPDmmUtAWYuovV+Z5wLeZye7IHPevsQL+9cZn7zE+Yv6PodLfJmQFWfXxkPPdVydHke+ogRRzfxXFyMc9ze9+kkMylXZ2LdTYOa0hKOPMpW/biGkBzgIMH66Oiqpb8vILJz8X6NwW0g33t9N2b52nLnUt8T0czfGhx3PzsCf+NzL+ta+1G6nQ1vHO/8KSw31nGngRQBdB2or1/NSyeiAYeAfSW8LACD/7FvifiZ++08RqYrkyjyRxLIO7R/AzvvyBG+DcpDdW28XegM8vSUCMG4wAAIABJREFUqwS8FYgHg2/SfG09F4ShqO/TDnYKb1wjlqyagn+xlz2kqHUAcREeYKMSvK7gnVSfILMacxd7fvhfQZ8Q5xYedp7WZIu11g7aKnf/afwnXxHfXrRrwK4BuwbsGlhCA5thwbTlGrMcaCsqmJ2dJUdHZ1Ktbtd6kuxCYRJv2py8spW2uPmRc6Tmwg2gbVG0M0VGuNCFuEB+ycKL1uTktOmD6/f8btKfPZ24/UJSuKmN6Yb6qbGvlxxyMizqJ9ob+PrlUF/CR3hinJd8b5qu0U8d00Q/NmaiOZqRSPhcSIky1Qk/5JlN9w3rVZqlyg5ZSRbjL0U3qcjzkp8LpVcWLDumzAv57lD3ZWmXHFO5D3Ya8zNp18XXqIuhfvuz+xR/D2UdQb7WdWMlepW3vmyLtdqWa61evtVer6QDffupsru0Rwfa3rn7DrkUn6Rf+TnTjz2vWwxdP9TP6w9c1K4mvRDmQ38JNLvZA2CJmLZq2pMSTb/3Pc+bK/d6k9Umi/LDRwvkW/ge+WUeY4CitLLGBIhaED6+gOvln+rkN6JLysimv3o6074j2yhg5ytMkvnJTTyANPdwkf4c6E7bY46xe1K4KK3rSaTqFA0oK3DcR4G7XiPfT9+jH944R//0cqW6xvs0MztrNBTBejIkOp4CI2LIMVNby3ubrMG+geZ6fgcCiArQJqnuLOsHcT67RivZEhQugPUWgeqgd68do+CdL/FG62yDpvPWoQLmg9imahoYHKKO7h6am9cOrwE4g7vka5+/z3IE7XqFYDXYXVOmdrMqQ56Iiv1W9aiYGuqnnNuXmJ/7jpfI0WE/LQy0cfzSsP3vWPUZrmsnv+9/TElvOpC49LznlUzHb13kZ7Ch3TL+GBiElu3mWGoAy2GdDUvbtaa8ltuso/6JRgaxAaxVJGlgcHVXND1aWKTYf5xk0AGuFU8Gaa6RJx+D36sdD6D9H3wO053c9yig6ANSYww3t7az/D19GpgigC0sbPVWcSF732SgfalxAVbezT7Ac4LlCVLfwCDzb+80H8jQ9x+u7yDf731MeQddabo8+fGByViaHx/ie1jkv/pYdAAB/u7hSD9zcyKf32ixW32uXqT2rm6Krz1BsdVHTMMPTT0g36MvUPTZHaY6faGkoorll+/ZQGULef/7B1R8xuzyUN/n0ewUXQ50ou9cPU0BO14i//Ovk5fP25Tnl8C8wrzDyPvQIdZTx6D5uXkrOpD+3cWBWuJdaKo0gQZSfSg18gY/gzvPWVoQYsyu0Srm0Tli/b1GO35v4mOD6de3HOgPV05Qdu3SsaVBn9/iwfzUeNHdteV8D5pyUigrr5Dl937nS7Zk8v7LQb6GxbY+5Xe20Z/dHVn2vBhX+iz4FpX1dNrXWr2ibHiNNVc+YKtfg2041LKsMnbcpJh/nLSgAVAF0NbIKtuCcB0XQT/bQ0Vfmg9BgFWZYzjBktGeNqcG8Ds3WRBpJRziy8OLxzcp9RTc4+9Af1mTxbRwYCz386W9H1gQf4svcJBQfXeBKnANLzWIKSsJ3/fyKxFyyTnCXAT/fK9FnS0v5CChnmdC7SmLmLswxDACbf8YcJt2JUfpu6/rWv/7v97r5YSxxf+1dtBW0fBm+CdfEcdetGvArgG7BuwasJEGNsOCacs1ZjWgLVQHV8r4PGlCTD1slF28uJV+fes2/cpdc4l3xlPbKHnJ46LJ0hYvWqoVKa5f9rnGL2AovxrgauEaOLe2iDwri0lvgTvbpFkNPON6kV72czaJvjdCs9iVCse0KNPL3WdpcVz+H18Xmmszu4Z+LcKffuXtzHJIv8Vh8+YYxn4t0p9dQ0r7Srm4L3YIczONv1wfGU9OEF7OSliOnCAz9AW6v3hqcb+W7WBvtGtgE2pAnvtNKNqaRBLL/zV1egqJ1d/Nf6X4tlirbbnWfl26+LLsLu0tKjNZ2l4u9WWA4Hyh5hr5gyTrDYtLBVm8Vui9VehlRjvWFLgjRRoZG2cwAXFrVWuNrLYWpgsoPUCx1Uf1bEzXAjh2DldRYWkF8wIACnfE+lTZ18M84dJ5uTQ+Ocl8Cmtr6cqnb9OVzy03kg9lJjIfrKMAvBJrv2T9xFUfp7TzO/g9JXzfG1RWWkInHoOwiI+1XJqemaXY5DT6k9tl+rv7RXo0bXY9q/YL/fRtir66k8fzLXqPqros70Vjfwa3NQ9YW0vCghbvUHkX9zDY9tW8JhPitgaUaPEwZSwAX0FRsawHAJ2wwIR+4VI4t76Kvu90irzcLhBc8IJn3KndlHnjNNUlR9JQq+VGZ31PJstUWJ/E4PXA0DDNT09RWdgd7ov+Ye6ODJzlRN1ki8/OZs3dK0BifWqOzOMNVWzyT/eOkP+z2yn77B36nvN5+sjHiQDESQIQDauK4vsxPJe0u08Wi2zh4SwFl35CYXm7OX4rZA7c9wp55b5J4mYPlml+z26j/M+u0Y9dLtDHEd4ixppyuO9+1ecipRcdZtlhpTm/qFluwqU2nu/2wjry/8EOivnbcZodtrRy6qwqYr32NxlbXM+11VBvyjXmXfDAvAENoA/WvCulez5prP+m8Fya76jjOIeIdZh28SCFH3hvpe7cjrWsKtaZv0f7vnQkv63P87OEZw2xqxFfFvcNcZqRYOXq4/oyz0u1NFcHC46OI1iyqwkbwACgEPN3qdRRGEevntTcFXsffZvHBS0sdmF17JV0muv8PXzZTXV0XRXLfT3KnSay/Gh+ZoaCwyOpPc6bTvtrB0MlVrc6Zmj5biv3kNLelBfL7rSfdXWgpr7l3XbjeYNucppvSXdTnnhuPwXue5uf9fqmZio5p8WChg6ycwq4fmzC8nm5WpRD/9/1czyn/+viQD+87UR3Klfnat408DoL39a1dp1qW3d3uJxPessyFjWAKjwvPfnGcbzXPSgRg7MVVy0BwJrbiTwurMTtafNpAC7xpytSrARj0HbEMu6nFdFTVtGWXMbP4miTeY8GU8DBrIwdN56y2Xzd4n5F/kXvk/4QoLyLzT0Ob/BwdoF1XOueZCEgQNyNPLzRMVJmWuPVgWFli8NikhCuA/+r6BMOnb4XG6KvfmqubbHW2kFb5XY/jf/kK+Lbi3YN2DVg14BdA0toYDMsmLZcY5YCbUdHx6igQDstDkvbmzc9CLSS1nqSjEHbT/9J1758h/7fLW1jBC9UAGslvxitgam4dksMoMq6Iqppa+T2Z1wcOEcbPv/jZ7YIgLvjV8N96f1QbQML4ClA3KlizT2Z9JF4tC/7akDx/rQ4BlrRHzQChgq9gL6YM9wRox7gsSSAvZIEIBXgWN3AlnFBC5fFkA8JMp5IDqeXPS4x75U2zAUMQTxbyPJ9V013Be2WFjYiE3QCOgGpMe5KY0jf9ea2BqhwEniuudQCGBAZEQ8Zn29C+qadeLbFPYFF0Dch/avAZ/W36OvQo/q7qR9vrevGSvR6/uq1LdZqW661qmxrKa+kA3376bJsQlxbrLn4uBSfII/8rfRWQhCvB06VZoszVY7f+LrQr33M66raJmVYuv7RX3MtizqJ1Tnd3UKT+ZYn7n/kcZVOZlzkDRZYlholxEyFdamkoeERiknW4jgCwFlYMG8Af5QQTs/evkJwv7xcKq2qYXADcWYBzn18ZBs5FmZzl5j7dayDwFrLmK6wtPUtfIdljTzzPvWEX6GFvhZqHB5geu/qld3GDk9NMe35gGtUUWMNuDUP5JD/5dfJ75N/Utb9a4RYlkYpsvIAu6HTx5FtyIjj+fSmB1qsd3BZp7qFA0/ozj88mjp7eqmhqYWy8gsJoBhANXye93Ck/3R1YGCrp/UB1abGUMrVU2xhDJ0F7HiZgo/vIb9Lp8nn9i3yyn2fvDL3cl+fi1+S3yevsCzRF49SQ00V7U7woI/CD1Jq0RcMIAOUSr74OcWeNHaHW3jKnzf8ov/3OMHFHtzRXstNZf2VpfmbYrEC7AMvv8hQik1JX9YK20iXal33WDX5fvkCy10WqQHO8QGWrkVb44vJ44sTLEdiw/LhJ1TealniRNfHuVDrQB7HBAZg3DNWy7GPg8NjyOe6N0U/f8rCTbTwQAxlt92vswzyLqrP98RqwP8zt76k77tdpv/2d6M/uV2jnVHBdLuiiA9V1Az00sgShw3St11ngHqsuZsPGMACq9r1COtmsKGKgXO8i2DNWuhtYXB3rqWc8NuOz3RVOp0L0N7jb7/yFvcb7W7n5y4yIYWfbdy36q4YnhaspVOyv2S69lLrdzXz4Q/LmK1w6Rzyy08JrpKXSjNtjXRrz+t0du9bVJDozc8LLHsl4TBGQOou8j7lQh5BYfQD54v0s1uX+ODDSEudyeV29KtnqObcJT508aNbF2lowjL+sByoaB82/xZgbe3OCaU/ujkQwrr4pK58sLWyM4JlHJm2BneTQwNZRzmhviw+Nsbh0hrxiOfnFzgGOGL+qgm/afhdxDPyb84O/BuODWv9urDea3VMffmbstbq57XUNXQpH9DodbtUP1vXG4FQAKoA2rYlmZ9TW467ODPH/Os8Ld/LG4OyuF6Ny23Lce281qeBydwQmr1n/dsL0HZxwLy3s75RNkfvprAcfhan+yx/w40OOWwOiTePFDhghrVb/36Ka9SLZ4+ZgTHW8f0QywOGAHHx+7M4u/x7+pPOuHkwl+XQ9y9u87c4VBXRUMNrop5ue2IEvRSura/6tie91v/+r/d6OTlssdbaQVtFw5vhn3xFHHvRrgG7BuwasGvARhrYDAumLdYYcXksMWv37z/GoCysaeEKua+vnyIi4kwxbddjZQvVY/PY9/gLdPvQGxabUQLaYsPBIdLdog0AaW59mUWdunmV31LPsWifc9PAy1d8tROUoAGIin9GkKQPAFUApWK1C2tatB2L1SxSAX4KLXLE2RUQTa2XRwng79j0BAGUFYD008Rw3uia72oUMrqiWJtABvBCOpWjbVIKb48SSysDgMhqgjxIz7haAtjQkVF6zk0Dg4U/csf0KFoOUFUBnvWATAIwG8llVAdAdrnxsFHI/1wq1s3CB3oR3Ujd15kvp8+1yrHQb7lpudb+T0qPOdhyHk8qh1G/9dxb9Xk24r3aupX44HdiJf0tB2auVo4nodvoZ0rVDcqb5QCFLdZqW6y1T3LP1tPnXJkG1gpoe6dgC10qvEA/97lBP/R0Ip8maxe0GK+0p5PXJgE49TKU9XZxe1SjFgcT7QAQ4tMyaSI70Or3+XROGn3XVbNyK+uwPtkum0OIWapP9xqbOFasWN41jQwtK5vaPzgqjt01Dz5oZADENdST+wKo/e6tS7QvVVtH1T7znfXUnXKV4ss1V6oVeedpMk+Le/+/wXcIcX9XSrJJlJ0ayuBmTqF26G14up0SarUYumFRmiVv772lY/KKK9bKLktLJljDJl04SPg+izXq6EwXb2A1DWigNGSsqW/k8WFVq0+w0mtseUBB8Voois98tLiZAuYi97ntRiFXz1PI8V2sPwZxd75IvidfoJD9b3Nd2IkdFBp5nrzSD5JX3nssAzb0QvN2UXyZE18X39WA0d56y7hyIlPiG+d5cw9AKdLUwjz9h9tl2nLHkabKtJhjwaW7yCdrP4X5+y7pnlr4rZS35Gew7D63XqbMRifyPfQ8Be99nRD3V007PS7T926co4EK48NwKu1IQyfV3Umh9I+vUdqHTpS915XijmnPm1PgVXoQEEY1QQkUnaVZ3SZnXCC/P39GPv6hlJ6Vq7Li8sKsFvv1oyPbCd8fvC/K53JGLF0IcKIriW6s31uFDtx2PDuZXgrwpJ+6XubnW33fQxnPPFwCwrrkWFYyAVSOqq6gK88fIr9/HjVtro5Wat5wCh0/5e8y3reMPoiHO5ETTL+47UivXtZiJec4a55cEGsYz9D0zAwl1p1mV98DE00sb9twEYXse5MKvC3ds2PisIgNCI+meeWQhihHrKaqblp/bwEQhf9zP9/Xv5/eTwlNxTxWfa9mUYYYtHguKzrDqfhsEL337kH+LYiPvEkN8d4sK+TNSr3Lz+I97zRqvV/OMZZf93ayOiQIt5HiOQAxfXtTPOmv7pfoe64XKTw/n/lNTS9vlR9Uup1S7p2X6ZlycYkcdWqPhcUz4ix352i/ua3tnTyGxP2VzvhN+78uFxnAP5JlafkkNBuZf1vX2o3U6Wp4G7l7hfcCgCYArjYiAQgz4o/fcdSPtXyzrDY3Qof/Cp7wKjD3wPq9A7/x893G74T/CjltMSYOFDBwODNnwQ5Wtnp34hYE9guanBvkNdNIFVhLh6fbuGmsuYd13JZoGQqgMTib66f7LQFzI35PUlffl2IoX11PgkXMXRy0xPuPPp24m0J/CnDXVz8117ZYa+2grXK7n8Z/8hXx7UW7BuwasGvAroElNLAZFszNsMas9SQZg7ZnXiSvA6/xi5RsLKmgLTakpB45XPqK62C1XspuGdEW9H/2vEJJ1YUWdSktmqWu9EH+3G1LMPNlf1fuk1hVYNEXYBGARHEJKTz+GuTJoDDA3+CSu7xxJta74AV3xKCtrM5ja2FYxorrZLHqFV5q/kGk5eY15FHTUrowAm0BJKu8pQwdLwWOol5tWwrsESBblU1fhnWkykvfrl6DDv84LgdqzVRnWoECwmM87Q5NZFvGV5I2NV+tPGqflcoA6mzJ18iqdK0A+EoyG7VjDmuZhwqU44DCWvpifBXoM5JH6sB3NaAt6AD8S5Jn1Fa6WwmIxPiig6XAW8xD5BI5NyLXj69+r2R8Pc165FB/J+R+4f7KWCrvta4bK9GrvPVlW6zVtlprEQ9eDkipseFFZvUQ1ZEjZwmeLiStpAN9u4C1yK+UapZn+3NDeT14OcaPLiUUU8qDNuoot1xfMN7Rx/HVAZLq07sxwRaWuLBkBeDRXpBkAnemSszuWesG+nhM7+LjHJdUz08s11SrOJWmsUaLcZlXXEbwivEd14s0PKO5mVXp1Ocb8TQhU1dPHzVkxjOYMz0yZAoV8N8Bt2lm0Wy9Cz4PJ4ZpLMWdpqszmG1U5UEKK9mprTcD7XzQC+tn0/CgOqxVeVt0AD136wJbrUj81cTMFIIbZL+irVTbE08PF+Yp8JOXqCTotlV/tSL53jnyK3qPZha05wAuiwGe6t0NY6MKG2liFTE4NMzzzy2y3EhTeaP8aGqU/nL7Iv32zjUCEFTXcJ+6evsIrqXV9HBhgQC6loZ7kN+RF8n/wIsUFLqVx8S4gSUfk3fhSfp7wEHKi71GsTGaG2Ov7J0UXnKYoo58TBnXT6ksTeXZoQnKPWiOjYyGW2XaO1hh9E1qqwjjcQK9j/Pce5YBuk1MlyhMjw5R8O7XKfH8ZwTgDbJHJ37KfGsSQk29ZibH2E3z+w7nKey3B9gC2NRIxK6MAU7kHbrD8W+xMWz0+e2hY/RHlwvUePmCuf3DLeSV+SYF+H9Erc1afN6yKktr3obcVJbpEz9XdVhaHOri5xHvB9lNN/nZELfOIIQVdU6hBn7DlTesbJNaGsi9ooiwSflBXCjHoYZVrrwLSv5v18/RH/zdCN/v2198QP47X6EIh4OUHOZB2RW5lNdUQ/kPGqigo4XfhfE+HFRXyXzctr1J/u+/aAK+B4dH+PnD89/Ql8p6Tqu/xLHwEL86192RIg5utZjb/ZZW7tP0YOkDa2kfXmU9YqNYEsCpiD8eIt+/vUrBO1+ln7leoLcj/dlyHy6pkRCDFvcacfB6JsdZ5tevn6eRuFv01dw0dff2UUFJOd390pf5z41prrljKrXn8HrIDVocMY8JMBj82urCqC/RlZ6/c4W+63qJ4LodYC1+e8qrra3sReamgbvcv3vUHHoFbQLYQhc40IHvemOmcfgTuAj3D4uiqWnL30L8Nqq/j/p1Yb3XMgejfDOttUby2bpOdKnPbT3OSvwCf7yLis9axnxenDa2hF2J12rbTZa8yZaHhbvu1vB3CLGo7WmTaeCrr2g8zZMWeqzBWQZtO5b+zdpkM1mVOHDdbeSiF/Fsw35n6V1jVQy/RUTwAIE1zijJWoo2HGrDu09PnuWz05pQ8nitNvauY8R3LXVVXdGG8iHUij9i7pIWc/dGaR6v93rermUF9Asv27rIlnVAxlrvtfAxym2x1tpBW0WztvonX2FpL9o1YNeAXQN2DWwCDWyGBfNpXGOwgezjosW0ks0iff7n25YWpGh/xvm81SaT9PvLnatLtgkNgFApL5WL6+W/+GngrUr3F+/rVhaxaIeVLkDlX3o40TNul0l4ALwVd8SgA7D7y8fxe2ExIVa9Msb3lfn98o6lBYLqfhlgyBE/zQWa9JVcQFsBjQDY6oFmoQVoC5DNCFBBf3UDHGUjOgBYAH3wQR8VLJOvKP4RBNCKBDrwQp1RArAmoK3ReOgDwAs0MkfUCU/UG/FWaTFnkcdIBtSBRlxqL0WDehVwBGClglZqP9BBrtWBjj3MFwC0mqAPzBO81HGFZqmxpX21OcZQ9bVSP7kfoEN5qTni3hvdU03XMaSfr35czM/o3up1gWcSdDKWzAXzkjo979VeY6yl5ic8MA4+8p2QejWHfJi3yKa2rbaMuaw0H5U/aFXZRUajwwEryQA9GI2t8sfYuMY4mC/08a9KtlirbbHWquEFAMbCk4UKykI/asx4hCGor7feXFutHlXQ1qXoOHkWvk9/iYrkdfBQfhLtKSonn9sOFH/JevMK1o4/u3ODXgi1jOdZ3d/L/UPuma0mAcyEhYbwfZ6uSjPdc/UZgSvlnfGai+SeccvNnaS6MxRe8anhtMZ6OwnxX6traulaoBa+4ES2dTy2mZosHh+/23jWAGiExWpgR56nE4V/9i7z75+epF943aSW0WGL8b56uEgTOUH8QRlJwOTGnCsEt7EAQrB+ns1Nt+irv/iuiwOv0cKnf2CQ/FIv8AZTc6fZOjnL+awVcKXnNTrdyf3yWzRQs9DPmYJ2vWoCx4QeFntRVZ/z5cLiIoXHJVJEfNKq3AhHxWvhKOLury72YcEDL5YpofYUx+KVmGfvx4XSb9wvs/UlBAGYFF/owbTxXk4MQI33donIy+azi4sEt9pv+rtQXtbnHHM27LN3mUfQzldooGl5WW+UWLt/xIBpThrwOzHQQwDMsPnYMphHKZcOU/Ce1zlGL+iiC1L4XqcVFPDGY8oWR7ZyLL0YSrH/PMV12KiEy96cz25Tc0Qex+XVTwpW3XhmymOcaXZwhCa7hmiksYvqyzTQ715vMtU13n8McJpdU945uZsu736N3XILz4dj/TSe4sHvJrKhWt5hBpphUQ2wELGGV5PG5mYJByoy2prprKsPvbn1IL3lcZtwGPH5i0fYzTBAQ/mc2fcWvX18F/3E8RjPSd4lX/xyH9PkOWoAqYwdGBFDsDKfXdBit0LXAqKKtfNol2atg1jQsLAVi3rhoc8B0Po9s43iXz7DTRMdA7z57vcfH1PgjpepNMiNHAO1Q5/xdRcpvHwf08GKH4cmkLYlRLD8dbEulPWu5nIY9XDBjPjCd/dbHqT4Ii2G6fOib9J8t+Y5Z3F2goIK36eYnB30qp8zHySBBwJJGbn5DKDLtT7HgRC4P1eTCthKPWJNhx/YIpcWOayYAdqupDOLTht8sVnW2g2e5qZjD2Cq4lq0lVxcr4s5a0X0hBUD5Y/BGl3MXIC1+G0Uq/AnZG/vtgEa+GphTvv/yMBTFd7T5x5YhovYABG+VpZFpwMo6Kd7rMbEAQccdLCnpTXQP9HI70dGFFjLEVMWSQ5p6OPNd+fW8u/AajyVGI2xUl1peyD5Fb1vRSZyzz+OuXsuL4PXZz0hPOJgz+5pTbZYa+2grXL3bfFPvsLOXrRrwK4BuwbsGtgkGtgMC+ZmWGPWepJMBW2f83KnH/l6W2wAyUbQSrmAoyvRraddb/G7Fl4AacVyF/0A7Ep/gMJ/8dbi6UqdammMOjX+7TOuFzlWFR59WPRKH33+P/63GFgWq0JYF8MNtND9wvWCqYy5McBkEAMWgAuATYAzAGIBvggABLAJHyRYtaIeHwFn1K8n6vGPIAA5yIRrsZRV6aSMcVR62fSHHBgL7eAFGnwwJmhkbKnXA5gqSKsfH7z1SfiBNwAAma+eTvSMeoCF6GeURA+QzyhBBvQVOhlfgC7kwh9zQ1lN6GcEMkt/lVbKmBN4zbXVWMwP+gG/1Sa5Z6DH/OBKVO6bygM8MabcN2nDXFUeUq/PRSf6evUeoE14iY7Qj/UHMLU+z0o2I1n1Y8g1+oP/cgkgKHSIuWJsfcK9hg7AZy161vNBf70s+vstOkBfjKUC4+iLe6XnoR9HvRb+4KX/jkGPKi+5X5Lr57rWdWMlelVOfdkWa7Ut1lqAsIgJD/AWycPDn1RrW9SjTg/kynxW0oG+XUDb8+WpBNfIzsWn6VnPm/RT7+scpmBvURmF7HmNgna8SA8nreOqAszB2uFfUy4i0IfxYQx6miqI2AVxS6IPjad6stUaNgYBLk1XmuM64lQ7ePkVf0A5zebfQYmPhfiO+rQwM03RR7YxINRenk8fh2rhCwobGixI4dKYf3vywzkfyw6k0NBQUzzZmGM7KNvF7B7NKBYuYnOCh6oHxJKFBWlC+SFug5Uj5v9jj6sW46sX2e0tPM/M9GC1mgJLtpH/3cMMqkmcW1jLAhAb6VjeIim3+RZvng2ONlPw7teo0PemBe/FR/PcjlheSNn5RTwO4gKvJs01l9Hv3BzozwGWYNVSfecWJwnuZtUkHj34vaLBbLktrq+94k9RwM5XCaDzapNLUS7r0if3Awpz0uKl9jfVUcyx7QxcD7U1WbEanJ6il8N9rZ5bEDblpLC+ERNYUlmHdp8GWxq4rSpG89Txvv9N+tmti0wmcfEARAT+eCdl7LhJDf4ZhDiwKyUAo3juz/hrh+RUegCJ2PyE2+y84lK+Z/2DQ9TV28WyXLp51kT+aHKExtO9aDJlXZV2AAAgAElEQVQvlL5aXCDEgA4o+ZDmH5qtLBPSsyg2Oc3UZ62F1K1XyP/Z7TT+wOzWdGhslKoKsyjV6xqFfPEBy4Vn1v+zLRTgcp48Q73IZ9uL5PvqS2x9rI6ZkVtAIdGaxX1y3Vmeq2z0zoyPMq+6ZM31d3pOHrtBn5zSLFxVPvryPZ803gwuPhNIob/aTwE//IQqAvyZ33hfF7UXxbHOnQuu8ZizC+MUXfUFuyLO7WjV7kfQdZoqiqGC45plLYB3icXZV2IOaYKxcYDgD3636Fful6knwZVmajJpItOXSrOPM/8/+J6gom5LF+Q9ff18P+Emurd/wOLT0FXI/e73Z5mmJoCt3spYrG3VZ9bUiYhjUQOo1/dTafTrwnqvVd768mZZa/VybdQ1dCkfjCG6lXyjxlX5LkzO8Pehzsv6MBMAq6IvV/Y+pPJbbbkru5rHHaqxtIyHW2T8VrYmaBb/q+Vnp9t4DTyaHtfec6asXdaOpXjQbGPRxgvxNY6Qc8CDIv74hdWIldejDS1wrQi/xRWdIxW8ThmpAO8tzQOa23Vxhz7eahnGCyAufge6si29iBjxe5K6/AceFm6QhcfEbD/LjRzpUGYi/cTzmjSb8rxO7V1gYt7SdbaJ4AkK+t/99V4vJ4It1lo7aKto2Bb/5Cvs7EW7BuwasGvAroFNooHNsGA+jWuMCtq+ERJOf4y1jOcqAONyOQDOW8kh5BJ5mzdgvuNymvPl+qBNrFmRS3m5PusBbQHSIrbucvzVtmORdyxoYSGLJJuhoEXs3lcD3SzoVB4ow0pCQErEyn3uzjUTvU+IuYy5AbSReH3q1woACwAYAVywmS2gC+rxEQAO9QDOAFbxpveE2Z2m2l8AXvQFnQr6AMgCOIx6+QjQC7mED2SVduSox0eAWGnTz0kFq4QH5MYH81gcNru9A/gk4wnNUtaImIuAfuC7FJ3wg3zgqSYBFFWdCr3QQka0ox4fzAfjoh39oX/wBp2apL9aJ2XoTPQG3nI/MA99P1zrZUcffESf4Cv6B1ioyaxZvaGNZX9sBavyEj6o0ycVUBdZVRq5V1IHXYAfeEEuJFxDP1Kv1xHkUpMAk2qdlPEMC19VNmlHLmODr9HzILoEnehc7Y8yvgv6eyDPmdBCDsijWreDH+QS2URW9JFxwQdzxPj4QC9qkr6oA6CPewl6fEQm6FOvN4yt8kK78EcufdWxvq6yLdZqW6y1AG0DArTnEnOHVa0K2gKsBWgLYBculPXukdeqLwFtr5Te4U2MU/naGvNGfACDtlE+l0wgTEvwFZoaH6epqRmLz/b4cPquqyM9GBikso4OXks8ygotaNKjgvleT9wvN9VPVGdr93+on+seDAxwX+e8U3w6fnxCG6u8LYpl6xtpN/UVGVKdTrB8QbteoxTn83xa/lXf2wyGtHd2M/1kv/bbNFGSwNcT7Y00muxO/Ym3abC9hcaGhplHeXSgFX8ZZ6K5SpO/qdKKpqglkOVrz7xJ4wXRFH2vmueR1FBvRQt+X6TE8LvFRGOpqb2mQ7OqbO2rodTsXJY/OTOb+ro6WbbScF8Trcik5kNjvSxDZPBepu+8V2NB39xbwu0tfSVUW69ZbVZU11nQqPysyoO95BeqvRskNNxbfT/lWfGtKGG9VMY402T3AwseafecKKBoO/mePUz+21+k/h7t3lnJofDrGxgi/8gY+i+vU+Sd8DrPu+jKZzQ10EOD3V0U8cUHFLznDeppauSxJscnKL+pgX7iYfa6AnB9YFR7zga7uihw56uUdPGwhWyqDKlOx5mmtVUD3k/G+Jto64KzqLO4wXSt9lup/F50ED3ndpHGi+Os+keUf0bh5fsJ34f41EyCder561p82IYmbbzJoQEay/ChsawAmhodpc7Ber7fpQ/CTfy6ezSQEO6tV5JnqfaRrkEKfm4fRf7lCI0PWf8WoN9AZwfVpsZRxs1zFLRLuy8AcRM/Pmc1blVdPT/rvX39VN2RTP5FH1jQxJ7cRckXD1PD/Ramq6w1/k4ZyRvzvGbtHPDjndRZ0kjxZ/ZR4vnPmf9kVzNtveNIf/c/xXqS719pazj9zseVfuJ2iV0aTz7+bco+6MGby9hgDvuvLyxklLGrurQ43tuD3fm3YvxuEH0U5UsuOe9QUNlxwz6wgA2LTWQwGsCqfLwyPiWvvK18DVA7PDaRy/juynhqnnDuAIV8+haNP36W1TaU41LSyT88moaGR03917pW2Ip+s6y1tprP08BnqmeYn9+mcOvY2ACscg5sTNzGB7GFPO5EuwaOiK4QXxrfJRyCsKfNpYGH44P8+4WDP/qEgygzdRsT/1g/1td1nb7tOsW98KXVcPe8U/kZnZ9YPu64VcdvUcWDoXxeP42mDNAWXkKQGgOzWJcIc6EmgLj4HXgQtzEHAbLuXyd4rNAnhF+AfENTmhePT5Ii6b/8rPcXEPoFe2Y9k5Zy6/lt1mtbrLV20Fa5u7b4J19hZy/aNWDXgF0Ddg1sEg1shgVzM6wxaz1JpoK252Iz6H+T8/nFSQ8+/sndMt6s2u4f78NgJtwBo/533kdMPJYDY1/ydCSAlbu9L9OewJumPipvtayCnKhfjrfaT8r6mLlSb5TH5Wnxb6Ut7752OhFArdQZgcBGMjkEXaeC9mYGcKUvrHuzMsNMvKAHAW4sgRoNAESbAC9ChxzADEBDqQNYA3BKQDG0oR/AJH1/FTxDmwA5AigJT8kFBAL4JHVqDh74ALxS61GWBPmkTcBNXKMMIFDkFjAL8sNqFTSQC3SoE1mFL0AsjIvxkUAv8uJaBS1V+cFPTbgGD/SFHsEH18iFJ/qjHfWie8iDa8lBy7pXrHDRjiSgG8qow/wgu8xdeKMdfNS5Yh6iX5RFfsgksqCP9BWZMY7KC3NT6dEmNCKHCp6DH+6dJDONGfTG/YMc6Ic5QjahE5lYJ4o1r2p9Ct4qsAoemCO+DyKLPBeoA098hA65mlQayAa9qbpEGTIKH7k/kAnWO5LQrsoFGYRWpRE+mDPGxpgYAx+RBfoBfxkX80O72ld4Yj5okwQa8EZf1M/W5zNf1IEn5JIE+VAvCbLIGMjVewmata4bK9HLuEa5LdZqW6y1K1naArQFUCtAruoq+Ul0JqCta9FR8iz8gF6M1iwQjxYm09XSVIr67C0KPbiFfD55hfIu7qHpihST1RD0jQ8sF39w+wptT4ygHYmRfGJd2pB3d3VRX8JtGs4KtOj78PH3Zaburqn+zahAeinksZvggRyuj6k+TLHVR000whsWjwCD7t9NpiJ/F/L95CVeu2r6eigqIYWCImNpfGSIJrL8aeJuID1amDPxSI2PoqFkDxpP9aDO/GTm01NXYWqXMZAjji1bBRvMHe0z82PkXfgOZVdd4Od5caSP9bEzKdKQ30/dr9B2b0fmq43ziMLK9xBcCcu4sL4DgAP3xfHnPqP40/tMbUKjz+EG1/fICxRx9AMr2qJWX/ItepdGxkZM7lL1/Ve6nsgJpl+4XaK3oy3v40r9pB39/uR1jX/jpU7yjuEy3kSrqNHuRfCVszQ+MWE1D6GfmJyi0JgEttL0LLpMvodfoMD9b9Noug+NZ3jTZH449SW4U+juVyhk18vUFXaZ3II10BmxhIuinQmubPHu41SkPX+pl48S3CpPDQ8sOe5wezM/K77XTnDf2vb7S9KKrKvJoxtrmV9O1E2L5xR9R6e7yafwXcprcSfEhnaJjCKHPW/QnWPbeexHs1M0kR1I45m+9HBa0xniHMMCfPHhPNPAqjMpI5u/E4uLi+uSuaewnjda8496L8lncWaehus7CLQlN/zI57m3qSOj0op+dHycn/N7jU00tzBJeS23LWjKI3xY30FhEZSQlmnRtpJeh+61U8hzn9LI/S4abm9hPi0FZh4JcZ70f5zP8HMXVr6Xc/cyzc1xcNh1mm0ptxgv77AXz7vWI8miXpXDt1r7fyO4OJP2JkfzPY2q0dx/D04+WLIfeMwvLNDYxAQ1d9WyLGlVHlRRc4/yS8ooPSefLWXVsdRyT30Vz68uJcpwjNGxMdZzRk6+qV1dB8FLTeu9Vnnpy5tlrdXLtVHX6n3CGHrdbtS4Kt+Rhk5+dttTzR4xpB2AVfrH1lZm0r6evCEgk8edG9HFP59b4Pqa24nrYW/vuwEakHd/I9YTd4NopjrDqOmprUt84wKlvOtoJT/CGQBQnOo2/w9jRfQtr2joS+e1ykgNAEWrOqO4qcYtgXX51SPLdQYgLnSM34mNSCn3LlB87QlD1pCvd1wLofFOTBD9M9TLim5ibo7X8MbhAau2J63Q//6v93o5OWyx1tpBW0XDtvgnX2FnL9o1YNeAXQN2DWwSDWyGBfNpXGOwkex9awtvQtz09KQ38pr4xelX1zULid9f+IKvX/ZzpqPh7oT4r8/dduQ6ASCrGrV/TgHaArBVQVu9m2Hpgzwm2Y83FaMiXehuWSbz/JNB/FzQoh6Aj9rfOchsxaHWL1deTh6132CrtrEndfvC3KlusI/c89NMMuj1AFoA0NJHzZ91s9TZ5awEyqnU3A2CTgVtAcogAdBRgRY98KK2SVnAGgA2Uie5UZ3aJiClgKTSpuYCPql1UsbY+Mi1mgtIBHBJ6gV8xLWAiAIkgo+UhR76kP4AvwSkA298QIc+aJM+ennln2Rp18DSWBPghWvoWdWV0Zy0fmYd455hXOQT2f6m8cFHwDSUkSADPpBZHUctQx/qnCAD5i/3CPKjDh/9HNGmzlPVCepBr9ct+sj4kgsfFhoA82MAGvNBm7TjeYFsKk/oAXzUeywy6XUnfHA/0UcS32/lmYJ+8QGN8JK+0AOAVtRLUmlEXtBJgi7leUI77juSyCx0aMOYmDc+6CO0uNZ/X9AfsqMP7iHGVGVBPeo0vrEmABfX0KEk9FHnI3KgrzwHyMFPxpK+qIeuJKEd/eUj8kv715nbYq22xVq7mpi2qstkPWi7Vp1hrdVcI79DN4vP0rPuV+gnXq5sZZsZdIXX4C9DQsnp7DEKPfAu3ytZC9SxEPtJ1hb3CstT8w+ytfv8cNTS2gb9cc9x/7+a01y4htVrVqr+JTsJGy5jMz28KVTXY7m521VdyrIVeGux3VtrtOuDHldYLLhQBWj7INGbxlLcCa5jJXX39jGA0d5yn2Orllw9wLwWZs1uZIVWi2MbzN8/+W2XNjVHHE5sAg1k3qapskQ6lpXM+lBDGIC+dkCL9xsa7WbqDnew6CtuYaUBLlODomLJ79KXLN/M2PJxSEd6WpkuxOdDYWHKERsT+oxJTmO9zDx2v20iWEUBh6wAZuE+36ksWUUPM8nQ41i/V0JdaLrC7BLbTEEUVLqd3WKnO58jv52vUmBENA0auG9GnE7E44VuxicmKSRAc8m70+U8A+FTJXH8WzRdnUEDeTEUsvtVurPrVfrBlZP0RqAb9dcX8m8dgN2Pfa+ydXZFShTrriV/+VjEkDfb9Tz5bHuB/tfF7JpYnceTlOFe9zsuDnTI9wotdFvHqL7Xm8TPSNtwCX3of5tlDbt1lb5amKWpomiCW2Rx2y3x2mq7E6i+qZkiE5L5eQ+OiiPElrZFQmxMbLZWu8TRPe80Kj4bxC6hEUc28D93cRva5RP8871LDgtLUoCJSHBTrKbehmqeq8/NqzQ2vnZrF8SgRSoKcOV4xI8U67G5B5X0c9cLdP3udtYt3LJ/75YjveB52WKdUuXJP+JNegBKbUf5o4Rw028hwo/A/bdf0VbKbHTSkxpeIzY1fg/mFtc236TzByh031v0cMHaQg4DweU6DoK0dnQajvt1VW6Wtfbrmu9mGAfuvPFd7C2stxIn+d1LBOBqI1K1azyPqwdrMJbPdz6gMsfwjRjWznMdGpD/8YxYTBZE8PuNUdvTWhfzt+OUtcs6JAMOOOA7M1Jv6db+aZ3nRshd0x1L/sXWMWMxFupL2jS362WXwsjv2W1WIuB3ATquvqWFSLAiWGdFfM0JSqvXQljoWWGNbR/W/vd+PtSbDyPqaXCN993Snn/tmmkk12rqbLHW2kFbRdO2+CdfYWcv2jVg14BdA3YNbBINbIYFczOsMWs9ScaWto9BWzf/Ewza/rvbVfr4ciS/QG09uoPz1yL8TQAC4sPKpjFySdXNNfTPwIMWoO2FwGukAqXpMbdILGYBPmAjGYBCe48WzwL00q6OAQAC9LBkFWvWjHgP5g3AU40Pq/ZD+RlXB5O8AzXZ3H8pegGNAZbo+Tx76xLtjdKso/RtuEbfyHBto9WoXa0LqcgnsUxGvUOk5ubNBMw8jtcpIAty6EC9NioLqCXAk0qjB27UNpRV0E3ftpprPQim9gFvAeXU+qXKeiAMdLj/6hxwj/BPL8ZdSnb5p1jGQR8pqzn0BqANdSirusa4Kq2UVVmERgUBQQe5UAdwD/cEm/H8YXA3wAQQCk/J5T7KNfrq54jvDngbzcmoDrwAAkFfwtcoV8cBHyTID5mQZK7oK+Oo+kI9rvV1AhqhXf98qvPgQR6DTBhLHU/kVe8r2mVOGEOS3E/pgxz3DHOB5S7kU+8h5q32AR/QSj/JITv6Iam81bI8k8ghE/Qu7eivzkmvJwHqQAN5BMBCfxlbeEEOyI0cY+F7A92IfiEjdKveU+HDE3j8Z63rxkr0Km992RZrta3WWljRwvUxPqpFraOjM8e6FWtbtEudzGclHejbsdY6lbozSHAsVzuA9Le4OPIsSqTko+9T8IF36HBqPh3xC2bwpD8jiJ+Zh6PmmJYyNiwp/8PdiWYUYOTh5DDTN6eHCJlF/mhqlNtnGwu5fmphnte4i3c1a9uCB54smwrmTPT3cNzWxLP7TbxulRXQ7e0vUqyzee0fqb7LvItTY+jho0cmWsSGhIvZR48e8XOcfmYXRX36Bs3cs4wDjg6mOLbjy5+0R8xRbAKVVt/kMctb7vE8/JRYv+B3pUiLN99faQYHYUUMSz8iSysE0ANcjY2MYN2n+rkva6VVGuLJdF7Zb1Bjv9kaZnp+mGVLLNbcRsPq8kkSQEF8T/fFaHGDAUCvNvnWaBaIdbEu/Pth1A/xdn2LtlD/gzqeR5jbDXYb29VjjoMmgC0ASFgl9vXXkd/Of5LfmY9Y39ntDyxYd02M0ZseV8l9+wvk8+k7NDNmBu/hBhLy/PDyCfLZ/iJlKfFhLZjoLhobNSDR/aK12z0dqeFlvtc1Gmq1BmZ3J0fTj1wdltwUT6w7Td6F79GOE1oM55CgABpI9eHf0Ydj5uczuvII+RV+RIGR0QzSJWZkU2t7Jz/vhgI9YWXSmw684YpN14Af7aTovx6jtA+cCBa4Vc5x1ByZxyDReNvyz1tOYTG77tX/NkGszu5e8tv2AiXcOP+EUhI9XJjn+MalIR4WPL6an+WDiTtjdvH341ruQX6GSmKcCc/GkyYc1PiltzMlNJsBMljBexW8ReOzy39nEAsaFvEAbtea+hpr+HvTVmLsvhS/gQDwcZhlbt7SA4he9+u9Xk72zbTWLienrdqgS/mAp163thpnOT4d6ZX8XR2+p4XUUWkzdzoTgKuNSKUXQ8n/BzsMWQf/Yi8VnPA1bLNX/us0MN+t/c9pJMFUcRxNFkUbNT21dWG/OUDwoqBPOOCAta2v2DKkkJ7u23xd1h5sGDMWOgkp28neQVBGXPiQX35qqCq/Z7ZR6UXzYV5DoiesxGHFpdZSvK9LzN0/+rvRZ2lxhqNgLyyzrdmw7Ukq9b//671eTgZbrLV20FbRsK3+yVdY2ot2Ddg1YNeAXQObQAObYcF8GtcYtrT1fo83IDxc9jJo+yNfbzrqGMWbKlcuHKbs0ny2MhXw4FistpEoIKR6+7dF72bgFkDtEb8r5BJzh+AGWWgz0wLpXqwL/c3zHAMisPoDqIAE8PV+QSwDEEIvOcYGgAG+sLAFcHv3Xj7tCXKh7LvR9PKdK6YxpI/k74e4Mz1cPCPt8XWyAJJBB37gvSf4FsF1MRI2TbPz45fkK/zRD2XIhflJ/XI5rHYxd6FRQVsALAK6CDizllwPAknftfIEHz2wJbyMcgBH+EibanGKOtw/tV3oVpvrwSfIttKcVHBMHUcvG9r0wJbQG9GiTZ0LZBN6fQ45VZAR7UuNpe+73LXoWwVDhR6uc6Ws5svJqdJJWUBbAWfxPVRlNxpb+upztZ++DdfqGPj+gV4FZNU+6jxED2hHGTICwFzq2VABVJWnvqyBu49jdD52+S1zAG/5jdD3w7XQoQyZ9M8h5DPqJ/TgDRrph2dI6NV5yTgYQ9pVWoC4QoN2tY0n8C/4Y4u1+mlca28cvkquRYfJo/BD+keEF//2f5RXQtUR13n9vRF4kzzDI8k5Lo2v65LC2Wofsc0Aeqipe2Kc9Fa2Y3kRNJjoRk1NS2984ZkaT/U0HQQAePXcnbMMpGBjJeWeGbBZmJ2hmGM7KPTTt2l6xAys/KfnNTpzcjeF7H2DRVocaOdnr69YszLMztesfwFWwNqspKLKJHr4Z+/S3cufM/10WRLBuhZJDkvIgQVThyUKcG8cVLKNn224kf693y3CCX41/Y+/G73meYkW+jRwcWCiieepgqwqvZSDP3uPfL/YRoiBOT9vbEkXsu9NyvW4zDG8gkq30eIjDZgBb+jRO+IOlVRYut4X/qvN4SJ5ICeYfufnSr/xdbEA6Jfj8WqEH/3N15l1LFbVevrRmS6Ws2ngLiVf/ILiv9xjiu/b0NTCAHZEfDIxYDuuWWTGOX9Kftv/QcN9D+hX3s70t2CzV4DcjlZ2Uw3rycS8dAbu8OzMTZitOaer0sjtwLvktv1Faug0u9rXy6ZeX8+Kp88Ovs/fh5Wsn9V+i3OzlH5Vi8EMq0h9ymhr5u9fUsQN03dBpZlZGCO3vHfJ69MXKPP6KRpO8+a4zC112rPc2d1DcTlBrEPfxMtUWFpBY4/1pPKxVRkWp6P3u2hxZm5dLGH9i+/kwJClJfnC4iK7wA46sZeiDn/0xGO05GfwvRrrsbaYai1OpH8EHmSdvRryGX3ue5lmGwqeeCzpiMMnappfnCK/ovcop8lFrbYqV3ZFsizwMPAkKc3pOFsUq8+4yqd/cIh17RMSwUB5dX2D2vy1lL+ta+3XotwlBmmOymcAarLTvGYKKQArAFcbkXCAI/TX5sNV6hiRfzpM2fvMYWrUNnv5X6eBufYaXqeNJMAhNryvf5NSwA8/oZIL1ocKccABoG1HWsU3abo2nUthq7dhzFgMgliyiCmLlL33FkX9z1HDsRHCoOCYj2HbeisBHFd0GFvz451YYu7+7M51cizMNhwO+2Gx9zU3yoYEm7jSFmutHbRVbvDT+E++Ir69aNeAXQN2Ddg1sIQGNsOCuRnWmLWeJANoeycIm5TPk/eRt8npZhX9PTqFLjicps/yQ8n7lGZpkOJ42KT5K+Ge9LLvDdob4UU/v2T5cngy5SPaErGX/xHBBuxgUxm972+OVwsQFACDW7z5tDEALSQBNwC6CJgpuQwOXk3FSRrA25pBl+IDCBa+8YUplBZ5g4Fi6SM5wNHSrBC2ZgWfwKwYBnvRLha3RwJvsMzN1TkEq2I1CZ+l8pe9NDfNGCO7KNVKdn2/13xPmthLG9xOG4GDKsgioIzkRvTStlQufSRfig71uA9IAqYtR4s2gEmqvOgH0EmAp5X669v1Mqq89bRLXatglkqzVL1Ks1IZYJgAYpKv1MeW7dAH5rHc2Pp5qoDfamSBy2GAlwJ0zrVpmwzSV89f6leT6++nPGcAgqWMZ2elMdT7AFo9QK6XRa8vyKF/1tAHwLDIoeeB67XoUj8H/dxV/mhDgpzLgbtqH/2c1DYpYz7qd5EHefxnrevGSvQqb33ZFmv107jWxn0J16Bv083ic/S92470G39XunM3lTJPbyf/Pa+xm+To4gre6I89/SmlOh4hWPXh/gF8Xy6JxUZWpD9Nz5gB3snBPlIBFLhNBr+5B9rmWFZbC69XviUamNI0YN5MybxxmgGY/vu1PHR+Zxu9HhnA9AlpsdzWVZbLzyncxiJV36tn+cura6musYnL4mp1emSI+zRkxtNsUwnLMZkfQYsjvRzHFq6OV5vahosYcLlX4818nAsyWK7mES0mWu+kdiDKJeiqaR1Lb7hMASUf0aOvNKB4qbHKw71ZTr+gEAqLTaDh0TELUljXIb5vX0M1dY5WshwVHdp3Nu3eZfLK3UqxKWbrXovOa7iYf7yhW92gWc7uSVnZ6qZvSpu3c7Qnx5pdbjjEL4ZFaUdFgTafxhrKKy7jewZgD1aCI2Ma6DrQXM80EV6aJVf4Y9faqQ/uk3NpPuv+D/5u1PbYuhbPDHQUd2o3LcxorrDvJYZy3fMXPqdtCRHLiWZq+72nE73lcpb7IZbyatLM+CjFn97LfXJuX+K8tfiuVddn3S7THp/Lhi6Sg+sq6U1njUeq326ayPKjsqIC1k1wdBznvrk7Kah4J83rQEOrgTZRBayncW+r6syWqRCvoLSc6ysSwllf433mMANrET/Z4XPCxyhhLd3mr8W1/d2dk9SV7ms6tGFEv546uIr0LniLJuesgTPwffhokV2Ep9VrBzmfZCzoCM94/p2rht3bu7rJNzRSe1ZCIyk8LongLn6ltXOt7YaDP678pqy1y81RbRPd6XOVZqPL93zSGICaH7cOAVByPpgAXG1Eytrjyhb4RrzhSh2W+fa0uTQw11zG7y9GUuFAC/7H+KYkcc8LzxD6hAMOAG3hMcKejDVwt8mF4mvNe0cqFepT6jW366nvX6GEV81ecFS6qL8coey9mlGCWr/e8qOvHnJYgqUORAK0reqKYi883711ifRecWR87IcF1NoOuJd1QPiv91r4GOW2WGvtoK2i2c3wT74ijr1o14BdA3YN2DVgIw1shgXzaVxjTKDt8Rd4AyJw50H6IDCMy96pr3OOjQkVtL3hfY2u+l6noIw42qZzc+ea+1VFnC8AACAASURBVA7titrH/4gI6AfrWbg8hkVqRXkmAwcxBfus7jwABQFw3w/1ZHq4HMZHkn+8D9M0Z7pRY2s0x4UFKCtuTC+EmAFiAUTRd3CgisdFeWx6gi4lBjN/33BngrtnABqSTuVYxoE7GnCNwV0A1ALyCm/k4AVLXcguIE90vGZJpdIJuHsgyrypJe0AbfXAjrZZr1nQAVQCb9WycbWAjoA2yMVCUQVv1Ha1LPpgnSnxMFUalI0AI8xFTSqNXm61TeUNHiKvWq+WlwO/QDcYq4Hxah+UV+Krp1/q2uieLUVrq3p1TqI7I9ARdfhu2GJcGUflBf5G9SqNlHGf9LR63anPhTznetAWfIzmKuNgjLXeW9BLH72Mwnet+XIyCi+ZrxGttNlKHowpv60y/kS6N821rs8aUP2Or7Zsi7X6aVxrc9NfZYDv0F3NNfJHySHUFnmT19ibnhcZtF386hFFxidT+HUHrgfgJeAdgE6jhHV2PMObupK9KU4HFpaF3WE+sAod7+vi7vjejWeYT9v/2OMqHUp1YNkWHs4wTU18CPerT4smxIr8e4gmM6xs3co198pBu1+jnEv7aZwtgbV+6JxTWMJAhX94NCWkZ5lEFnBwqLWJ6wRoxvM4keVvAldNHVYohJbvpqiKgzSe6kGtJUkMHF7I19yji4vgppzHByBme3l+lZ0rg4UCUNZmp1BEfBLP5UF7ByHubf/AICVfOkKRijVict1Z8i16j6bmhsin4D3yST9C45OTK0i/umZY20I3dyqKeH6IZ7xc8qwsZrrGOBcGxpejheUDNtMm5wYo8tCHlHnzDJMDeA+MjKERBayOOvYx+X72PDX0md+NYN0s7y+fJEXStC6+Z3dNGT9Dief200hHC5fvOh2mSwFO3K+sV3sel5KxbqCP6bxTQ6nIz4X7Tw0t7/53vLeLIg5uZUvf7tpyZg0QMeLzrVbxR49kJdH3XS4QLL7VBJfjP/G8Rl+e3kf+O54nr9w3qXeokknS7uZSdkERVbVqFtUtg+b3RpXHZi5HJqRQcqYZxO4bGORnvKyqlnDIA+/7DRnWG+srzWmst5P7thSY3YXr+8TGedDFzK10O/gaLQ5tXOw6WErj2YbLd6MEC3O0946vz6qnMtqf54zfDH2qrL3HegVIDvAWhyDuNWq/fXrajbr+tq61G6XP1fCtco5lAMootuxybavhvRxN6tYrlPCaMVjDbUsAOcvxtLdtrAYAzOL9xSjNt1Vz/HSjtqexDocYAMzW+1ofaJM2HHiwJ2MNpDc4Umq9eS9MpUI9YsoiJbxydskDGmgDqGvrhFADWE9xiNEoSczd0dkZfqdLeWAdsgL98D6J8CtPY7LFWmsHbZU7/zT+k6+Iby/aNWDXgF0Ddg0soYHNsGBuhjVmrSfJNNB2K/lefJE3H7Bh4+BwksuwvsU1PsmXvjBpPuLCAa7zcXmZstOcCBsgSDjVjhe38wkHGaCp6NRcpQA4gvvD0eJwk9VeQNEHJn5SACjZ1ZlDw1NtVNOmudL1i/EkgJ2SYAkLfu01oQT+bR1mV5AAP+BmWDYSJUff9uFS3hSWTZrgkrsM2gIU0icAqGqC7I4B1+j3F74wdMMsADD6ADzGpvj9jAg64HbWJMvlrAQSt9KH4w+aLABExg/jLeNrYiMbfATYQo4koDDaVwJe0a6nkTp9vQA5aq7qAOMLgKQHmQRgk1xk1/cX3vqx1WvwlmvkMl+1XvhAHgHrpU7NeyKcqMXvnCFoKXxVesxRwDK1Xi2LDqSu926kIX+5b0K3XA6eep0a0QuN0Zwwnn5MXCPpZRbeS9VL+0o5+Oc57OGPnlZAWhmDgVElNjDaxSWq9DWyXMUzpc4LfLoT7xjqXPiAt5QlF93JtZrjOcMH/eTZU9v1ZSP+eprV8BGLYB6/Po/HV+eq54nr1Yy9FB2eebiyHU/z1PSTcptP8j8c7rZb/6g/Vqssr3Wtjbn7KnkUfkT/HeqjbVxkBVH+pb3kt+NFulCYxKAthu7o7iEfD3deYyVmIlwA474uDlq7HZ2py+G2qLBgAlCgptD9b1PkFx+Y1vE8zys02qBZd8x31DHp6Zw0+o7LaUqu1zZzumtKmT7g0mGC9STWqF943SQAoWrKdjxIwTtfIqOYu0kZ2QxYND1oM3Upj/BhvqaKx+sZfiNgbbvWVNsTz+8bHbXhPP+3Iv0YbAOfd6ID6Y9uDjTXogF3iLXlU/guwXXqahK7P3Z3pPmFBQahBbz19tKscH0cTrHLUwDscZlRLIdf/g7OC+vXDngtJZOsU4iD/l5sCP0/10v0YNTSta3a95+hXvRS4G3Whxp7VaWR8vziNPkUvsPvUQ3pcXxvEMMYSXULXZesxfn1jnydAIZJim6s42dDQHypV/OOcs2KF++Q4Qe20Pz4MA2ketJ/ul2iF8LMBwfUPlL+MlUL0THU08LxccGjwFtzASg0ag7gLHjP6xS2/x0GiaVtuL2Z54aDCGoq6u5g+cPDrlscGLhanMP1gZ+8RFkOeymsbA8Fl+4wPTtf0VeE+G34oPy0pcIyzZp/8eFDevjwIUXEJRFcYaOMFH1kG2Vc/3LN00Ic2+Ddr3Fc26U6z7VW0f7wQ3z4cCkaW9UXPvDi7/zMwqgVS9y76Crz/zRWBKuseLiwQBGfv08xx61jieJ3HPG8BbQNj0skxLhe67qxEv1yotri/+LN8H/tcnNU26Ar+aBedCe5SrtR5eWsaQFYAbiaG1vdOrQWGdma9kPz/8pqX1jXLeUyVaWzl79eDczUZvOhN6NRF3pbaCzJDYHCjZqfujqxpm2JzreS3WSFe9PysLcV4be4IqnuNOU0G1vJoh5rGhJb0y7hCh3W9vidsHWamOvnd9/haes43hgLrpPxDt4xPsrvVtWP3zP1cvwf5wtLuk7W067mWv+7v97r5ca0xVprB20VDT9NLx6K2PaiXQN2Ddg1YNfAChrYDAvm07jGMGgbvJUAwApAa5THXdjLd6CvsYZCDn/EtAB1o+7sJrgdRAIgCtDWJ+8oAy1wv6eeZr9fr52wHBu+z/VGtxTWswKsor19oJstYYUWQA9S2X0v3mwEwIuEDcjmaj8KSAnhl0JY5z7ndpGOJ2obdUWtvkwneUF7M7tYLq1zI+/417ltpEOLfYd4s/pUmxxCf3U4xKDwd66eZsva33kfYZfMcAENy1o1QYcRZ3exLNj0xubrrbRwvj6f+IVpjqh/JcSTXTLrARvMVYAttEkSMEfajAAi0DMYpABl6DdcmsYWd9IHuX5c4S/6kHEBmGGDHa5y0ccEyDWVcp2AUOivyov+KqCLMaUvwLShJrPLXfSTjWrQSVn4qXzEchBtAsoJqAX+ADdVgFPGhHxIyNU6jCXjiQ70uYCIMl6Z92ULHqhX56DvL3KhXmRV74E6P31f8EUd5qQHLtEm7eAHOtwvve7V+Qqdfhz1Wi+PyA/ZwR/PeeLh93g81KkyAFCXMZCzRWCaBriCr9wDdTx9WZ0XdAue9/wceTzQAphHDrnUuen5AIwX2fRtkA0fyGR0/zGuyluvEz0/XIOP2seIBvMHHQ6hSBJ9GdGjDjpfqk2tN+ID/QP8MdGluNN4ujfhRP/XmWyxVj+Nay3WwhvFDvT/nC/Rfwe40VDcTQrY8SK53DjJgO2FYu07gXsBSzj/3W9w3FRc497hUAOeqUczZitOcZ/cV6RZhA6NmAGKzqoi/n723quk6dEhKvRzNq3xdy9+Sn3xt/m21w708rrkVpZBgz2d5LfzFbq29036t2tn6I/+bmRk3TnfVkMNnqeYH94J9AmgH1wELy6aXRGnXTlGiec+05NaAGZWjctUzD+cZgvXjHva70Fwura+JjTX83zOBjjRw/FBml0Y5/eNggeWa/QyrKnQ9yYF79beC1S60nANeG5qqKe6xvtUWllNmXkFFJRzisfAPV4tMKzyXa7MgH2KOw2NDhDigf01yNh6sHNijOftnhjAltfL8ZS2jMYrFFq2mxADFoBnSaCbNHGOWMaBn7xMQRffYlfKFo1EVL6CtSzoW4uyteewQfudgWtuz5BrLGtyi/nQnZ73f7o50hZvs1UIQEGsN0aue9tKc7kN4JmRNS7AXsxj5rH7Zhnr557X6EMvR5OL5P7pSfp3Fwc65HSE+fXUlNLgZAvfW+gKCda1uM84CPg0pvbObgYS4aoXzy9ARcRflYRnIGjnK3K56jxk75tWz4++81cLc8QxuhfMLtz1NLa6np4f4ftU3GYZ7qRnrJbrbWUlDYtuPJd1yZFWosMNtX9YFAVFxFBtg7F1kVUnG1Z8W9daG6pwzayWi1sLwAqg7UTHwJr5rtQBcWvv7tfWdD0t4liG/PJTfbX9+l+sgenKVII3DaP0cKSX39Ufzdoe4Dcab6PrJG5tZ4axNWbAj3ZSyTljXWy0bE8Df+ynlXUY6wf1AEaROG7tCW2/Sz8vxLWO/PMRffW6r7EPh3eiuUXz/7IqUwDKiLmLvTXsh/VPmf+HUel+6O5EJ7JT1KqnpmyLtdYO2iq3+2n8J18R3160a8CuAbsG7BpYQgObYcHcDGvMWk+SAbT1vLZtRdA2cOcrDIxigxYbFPIJ99hOodmf0Pz0FOXlOZNX9hsUXXWCQRC8xOEDEBZWuEVxtwn963oSuR63EvUC0sJyVj7qbYaFKujg2lBosYEWU3WIBIRFv+waR8qt1+K/bfV3poux5hdXxG5DX7z4AuDFBidcKZc3+5GP7yuPY7tpbh9lbMxJNqQrI7zppsN+Bl5f+HIfvRN4UYvd21dLFe2hNNSguYTrqCik6tgg1k/IF1v4BRUvqdh0z60tIrhavp2z22SdjLEQQ1fi6ArYMpAewHz+f/bewy2OLMkX/Wvee/PW7353Znenb9+7u7Nv3uzO7L7unjbTdrpbaqOW96bl1TJIQkISQiAEovDee2EFCI8AIQRyyCBvcUIIoXjfL7Ii61SSmUVBgUBd5/uS4+JExImT1KnKX0YcPIAUMEz0AnADwFYAJuSoC5jK4I4z1LTwQ9ujU1F0o0zzflYBXwGzBIgELcABmbvIRQ5+mIuUQQv5aBOvVwBpAMnUpOoBPeWMVIxtSjqhA5gYJ/MCDRJkQEck6C1gpxHsgl0edNQzPXhcSguls8HrdZBK5im8YA9pk3mIbNRFjmoXmbuMqwvbpQOTGIN5Qi+VD9qFH8Z3ndzOddAKeClAoLTJGDUXG2JOWEe3PuW8UrEZ6JFEF6wp2gRMhC0xD3V+Kk/MX2RKO+gbDq7icVhvfA4IaAv7y7qCNxLmizFSxzwhT+qgwRg15LPIQq5634IPEoByoT93fDPbAX1mXtKQhQvzAA14yvxFDvrwAgD0gL5oV3lhnIxFn9gTfK8XxLitg/AEH6GTNrUOfsaEzxuxn4wx5ioPY59ah33VOspImGdfaZTWB0/b0wn04uFN3SNFdPJ2HzHSCx+z3Bd79Vzca7EXrq7QwgyHZ56gxuD1/P+z93Q2g7b7al2gLc5Rjdm+hhKWfKybEAAk1nHgjPYZjg78jyI8cVXNGUrOytNpUagI2cVhb9VGhD+tiQzS9+8zYbtp8NF9Bmd/cXgnHV76CUUs+CN95jjKYZHVsVJ++eQu69HfVMjgjhHo0+mcnntShxdeY6L5Q2Wh8Tav74nm7xIPOvLpXkEo/XXYfsKDH+y5NbknmF3LjRSm6R+2D62rytYBbyfQKH1pa76mymN7pKrn8OaLqf+Kcs9t0dt8VRgbHmB7D509RXW913luW0+Pf7B1rLmW+64VRej7iicdADzKd7SWtCgGNkeGXA/UEDI5YclHFFX2KV1QQiN74mvsf3T9iqtp7CUDd785cYD+Jcb8nNqamz08l7RSLbw1Bj/v72P9EOpbTZ3FmXw/F+1bz99D1T4p45xbAJFGT93dNdpZyPcbtf+d1bmJLLcgYCV77Mp4nMcGO8EGaS0rKKd9k3TNufz5yAgDtXgxBIBtfbP7Q3TxtMfLHhNNDQlhvAZPb5l72qh81O9tavt0lOHdE1v/NSF8o6RTF/bpD7ilbar56dAAvjdxbrenZNwrp1q3k/em7LV2c1T7YEu50G60rUo7XeXyxSGU/d/m+8CN0lYGbQFg+TolvbWc6rbFmrJt2pdCsX+3wLTP3/j6LDDYlE8DteNf9oBGY0N9vO+/HHj8+hT0oeQ7dRf43r/XZP7ySuq/rKGaDSd9KPHNYpXastzyOxi+l8Q2zKNXr8Yo9m8XUHOg6zeCaoXaLTGU9Nb4o8lUmsmU8WwN34+sEkI3n7oQoH9/taL7l5hQWnkqx6rb63bj5/9U63YK+GKv9YO2ioVnw498RR1/0W8BvwX8FvBbwEcWmA0b5lzcYwDaRvy0iBwZH+sPcgWQNeYVpw/SlTOlbnQp4d/w2MYMzQsCfACQ4gxZfImTB4L4Upd3cCW15SRQfPaX3A7w9HR+EDWcc/BdAEAVXrupLcu4H0AsEgBW/lJY+anuXYvzdsE7v2UbA7pVl8MYkG2/fI5DGEfEHKGEimyCtygu6NRxUQsBmB+9noFbhEhGe/ShDyijTNNNvR0vlGQTLiSc6Vt9eD2DTfM2LaQdCctpdcFGHYC+elULEQ06sVvyxvn0r46NHHoSPAAoI5Ry7JkVPA+0QTcBbWHbrowI/qHWkRnFfACcAoBRQa4B59mErJjzj7QJqCNeqAK6ASwDwHS1VDvT79mtyywHdEIjOYABgEoAU40JoJIkyDImjD3vCGCeat+txgoG2jAGgBYAPwGucJ6eyEYugBdyJNFH+KEdbZIAbGMed2ryqC0rlsEy0ADcA8AIWgBsArwJUHo58wQ/3EYfaKAbLgAhoAVP1MW7EXSS0I4xSUv+xDQoY4w8kIR8AWLRBx6YM9a7ZOt3ujyZI+atJgGMMVYuyMR9gDlhbioNxkM2+OGeQR/okZBDF4xFv8xH5IldxA5Sx/xxiXzk6IN8hIVGUkFbkQc6KYsMyaEneKoJtKpHtCoPZQFoIRup6vBmpocOCM+MsdAD95hxLOThggyZF9YBbUKLPrnAH7aDrcQesJeMlZcRMBbezqpMFQyW+YkM5MIbZZmL0CHHZyP0kDHCT11n9KMuayi0yKEb+Mraq31ok/T8YgM9LQ7nMMkjzvCx0jcTuS/26rm412ZUv0+/Sz5BfxW8l54UhFL88k/o5Mb1DNhiHw6sqiA12mpxajzf1zfPu8CTkevn+f541llFUn5+6yJ7c9U0uMIXPx/oo7jv36W27HjTJcX5tmU7FzF//O+cPLSN9i/VzrAvNQEEhcnLJ/f4PNyB6hR69XKUAFakrf4ST8eFxDSfyHmXpgM9NAKIxfeA+suaB//KNA0U/8ewvTTUXkYvx0YovvE7Ku8O8sDJvXtsdJS9oFVAure9ke3V2+7+WS0jAQ6fveH6P5N2X+TyeYX//8C6SgYWS51nAwv/3ydG0GepDr4/EFpxoimh8XvC9ycATrhnOgqc37taNU/t0rSdbGOzMLMTlWGkG+ntosy0IzyPuHNaCGuVZnVBKv1VyB7qv+V+BmhrZiyvAc6uxT1XHx/KdbygMDZqH0byXH4K0+J8XUni+RGTcpjaz51hfbanRRBCIxtfMMCDR/lOe+uJ63uQ8JpLObzgAdimZOe7ecNjDvC6jlvwR2pKNvfoNs6T1+D7d+lqneulEyPN66rjvGasGf43kZ4+u8X1c7d8F8IcfPFSADy5K4+Znyn6uub/c91rX5e9Ibfoy/1U8GmAqQp3G7sZuAKA5esU/RffUMtB8zPb20PzWK7ZObu+1sPPb+IWGKzLpEHnC0PGUa/GXvJe/vLpxF82M/KYTfXrp1r4HnzcbX6WPV50KF90dDapPKt0wffY648aTXVCO/a54ZF+tvG58AJTuub9qYTPCV+nG4+bWb4V3+LOAD5z99TVi/wdy4oOUWS+zdX2aiua2drui73WD9oqqzsXf+Qr6vuLfgv4LeC3gN8CFhaYDRvmbNhjvH2TDA+LTyxZMSHQFg93W7K08IAo40JYZYCeCUu18MritQqQNWbLH9mLFZ61OPc2fed3lLTsY5bFD1p7Yijx+J8pO34F3bvdxV/64hu/5Rz9AG3lDb6MXd+xLHjW4gFjdMRHTJeWsZhu3m1h8BVjAAQjZZzYREVnUqizJZdaSmO4v6LyAOscF/Yp1Z+JoJaqYkra8TnFLn6Xdcr7SQsBjVAvhed3Uuq6L9lbCZ6zCB1YeHwp9V5poZzt31Hs1g8oMGExFcdtYT1OJx9gXVXQNmGdBlqv/OlbBtJwTi+A29SmlewhDADvQmmODtrK2Iag1VQcsJp1NfN2hTevMQkdACmANXi4iwTwSQCb89kxdDb5OIcPvNNez8AVgD48EO5vLWNAT4AetIk9VFkAlk8FWofXaQzdSoU7ljBPddztszXs9SptmANkQG/cR+gH6KSCwkILOsxDTQDU4JmIdCbqEM/3XEoYl9GGPgCbAPXEFgK8Ca+i3StZBwFnBUAVb2SRB/mwi4C90o4cusOmyI1AHOSKPWVessYAIkUv8BGwV3hDRwF9BbQEPejg3dsQE6wDiQziKaAvwD/ognsBSeYlvMEDekkSuwAIhF1lvuiHTMhHO8DR5rDtDNpeydcAbMw7e80XzE/mYLQD+OC+QQJv0Qt1uW9vnErQ5YrNJIdc3BsCmOL+AnCMdYJsAW3BS8ZIDnm4YAOZJ+RiPbDumDPmqK4F7I660GM8Etrk3gF/vARxsVjzeAatrJc6f+Eh/4OYA8aqNOCNFw/w8gJkSL+MRX4jaR+3o/92WTLdayrn/2uZJ2TD/qCVOUmfzu+h9cMfb/cNT/RsMIs/vtir5+Je+6jgH+j/OraXlkQGUf2JHfyZcTwsUwdtgyoqaGx0TLfa4EA/xS74I+Ud26e3oQCPS17b4hM02JBDCHMKAOZGr3YeKWg6izO0zySbNR+50cn3Vel+zeMX/8vtuebh18BzuFuLYoCQ2vACQcKZuxiH80TtEgAd0JmFtrUbN5G+0q5Aimv4hvrai6k0K5QfCq2KPkAvbl+izjtFvD8/GLg8EVZuNABgcF6lJNThaWuVRl8O0+Oh8WcOW9F71Q7v1Io4GqjRHmjhPNi/PX6A7gxo4eguP36oAaBlmXxvvPIAYKqy8Z0qpv5rgv5V4ft5ji+Ghyh93Tz+DoCzPws6vD/jVJVhVsZc3j15kH4ZcYieKfo+fzlKfx26l5ZEH+QXA9SxL54N8Xex8uAdVBm6h++p5tSJe+dgPYv2rlNZ0m+iQ+iTyP30ceR++tvQvdRRXcJ8H/a4ewQh2ktcw/xpsYWbQjNQaW47x58Z+OwwSwhlnrNVC7do1i9tzSmRbKtLVeM9v4Xmdec47w+/K168HOZz9WLr5xFCq/s6icf3LcPZ30Y5nvZOb/uN/NX6bNpre3qu06pVm2nhwjWUn39KVVMvDw8PU2BgCJ0963opArQYg2vlys3U02P9GQvbyQWmRlvqgqaxkPPedipdYH729uOumwyqAMDyZXo5/IL5dpwoNGXbFV/O/cMPzcOXmg7yN067BQaqkwkhkq0SvueNPrhp1T2n2i+lVfM9OHjnkaneeNGh6M/7Tft+7o2jY88puu7PZPU9Fu14/vXwzhW2cXdihanJzh3P5/6Xz+1fcDMdbNN4+UEVy7ciqbgYzGfu4qgVRMGxSh9nxBEuXyXj5/9U63Z6+WKv9YO2ioVnw498RR1/0W8BvwX8FvBbwEcWmA0b5lzcYxi0/WotwXMVZ9TiwardlbD6T279xrNwY3a+TwnbP6XUTV8xHfpPle1mcBPgKHgD2MUXTIRSBrAbt+SPVFN2TGtzeucaQVuMg37wjEUfypzve59SN39NcSc/Y17JP31J+bWbKWHbJ5SY+g0118dR+uHveVx20VqWD5nJB7+kujTNSwO8HUnavAAmAgTGObdGO2Bu1dUhFLtYs5NjnQZUQ4/4bX9iGQLKyVjhCyANKWvXMtYT88jZvphlfJEUxcCtcSx4CKiFsQLWCi94AQP4RUIZoRORALIhNbU3EjxqBewCuAmAETzFgxh0AKXg2Yt0ub2KH/o+utPDuqFNZKAsOqIMoAmANnJJzSf3Usa6ecxT2pBDZs76r/Qm6NKWFad7bqPeW1NACKGpytMHKAXIAzgFnrhgpxvN1VQetFnXmeVt+p5D9wLoQhKvUYCGAHWhJ9pUEBF0FwuT3HSAfRCGtzUtUgcfQQc9IDt3y0LOAZZJAn8AhZAtF/oAhGMMgEbRQ8YYcwFXr8S7ADvQYA1wYV17c8I5R1joe90dPC/0AcSzStBbwEfQwJYM9jnPJhbwD33QHbqiH0ApdE9b/jHfR+hHHZfYGG0qb+b/8B57kQo/5JJwL8NWNZEHmQfATfEwFdARwDvWQMDToj2rqXTXUrp5OkuXDx1wT0NPGYcc4Kzo9qRa4w3Zfde7WIVn924w8Cr6IIf+GCMhqGU8cgHAr1Xl06WKPLYD5EAu7AYa+X8DL5SxFmITzAH0DyrdPfJw/2MOuCfQDzqESEcZfPFCAsrgj5cNsMaghdwbqUG6XrgH0Y4xsCP6cYGf+j+vznemy77Yq+fiXpuS+t/8wKIwPZhi1s6jiG2L6HjMGR20PVxSQWMjLtAW65K1Zx3FrPiSnvZpICnaAMj1VyZo98bgEw5vGpOSQaNKOGIALiUHPIdw7SuL5vvj4bVL1JKmRbww3g+45xBGG/ffUFspvRpxnUf5YvgZ37eevPIQPtXsjFijrMnUb/ed5+8CHdcy6UlhGP1TaABlpwXT2MgzDoOa37FtMmzpco0G3j2+2UPDfU94nlaey5MS4OUgeM9iDUaudzBY+9dhgfRuShSNvXpFQfVV9H8c3UO3KpN4Pb1h/XCwh+136X4lPey5xPPM3b6M8+vdtdzXecccDPBGjpF29MENqss6yv8T0F9S7sVObisqTZYmYsOBaQAAIABJREFUt1w8ZvF52VXuHhLcjdCkcr3ljDavJtdeHdxYw/LwMPHE2XoCIJz543cmo4lfPrzbr+0dpgRzpBFgbXW9udcOpiAvfTx7av6AHTRnM7QXOLtKfeu16msT9g/f5Xu48Vo853Kkiq/lgB8+dzPWf0MvX/j2ofhkdZ1Ne21ERByDsQBmjx6NIIC4ahLAFuCsEbRV6+qY2VhO/3/WU9WaCFPVBm8/YtAEAJYv07P7T5nvxWQt4pOR99WcOu7v6zF/ScNI76/PjAX6K2L5JUsradjvX9zx/oUzK36vs/18VDHfgy8GXd8fVX3wokPOu9vVJn/ZaQE5nx25WZL+691NbOOe/AYzMupOqOD+Zw+emvZPtvGC8+VIq/E4Vx5n7jram/i7lhXdt3mp9IekiUX4sOLxutp9sdf6QVtl9ebij3xFfX/RbwG/BfwW8FvAwgKzYcOcDXuMt2+SAbQ9/v5GfpgBUBIPwtyulRrQ6tam0AAAdetzArPSBtA2Ybc7AIo2jIvZ55IHb12AnwCP0Y8wy/C0Tc9cQqpe4okL/gBWY1Y6gWZFT/AFqAs+8MQFDUBShGUWvQAgqwC0yIAncMrmL910kzHgkxj1tYuH0w4CeEN/ANBCj1z0E6A1a7cWkhL6CB3mujD3sF6XduTwUBSQDjxSL7QzHf4NUE9e/imDh6DBg094weLMU6SjmfFUl3BMB7tAgzEANJGDd+7edTTQ1cAexQBLAfzih2Ke84E1g5sbvmVAEDzBA3oh6YCp0/MX44t2reB+gKEI+7y9SnuLGIARxgnAK3ygB9pRhycwyvBoMvPmRbhmXJALEEzmgjGgB+CLMnQGwI1y7qbv6HJlPvc/vHSOgSxV96eXXW/086SIqDU1kmVIHbIKty7Q9ZR2mT/k4EKSNrPQ0ugXWoTBRsIcxCbc4ASDpYyQz/BCxZoAPEGCrQD+Aoi7lhvJOYBM8Ma84bEpIKHwUXMjeAdQD/TgLzJUABpn1qLefEILQww5FUd/0ucqcxcZAA3VBJ0ASiIV79/A+qOMeZ+JOsx8MCfcP7eL3cNYY96QD56Pmko0Hs75w1tc7ImcbdmQTW0RP1FnbKCbzTAQayNJ7i+MydumeRSJXSALLzu0xAUzD+N8wAPjcOElCOiItbhypoznhLIklMWmaJMXB8RTWehkHqhDT9iiLXI380Ybwn7jXgVojLUXL3jQ4v6QJB7dqGNdRTZy6GuVvN03PNFbyUG7L/bqubjXfhO1hP7HsQBqDzrI921QZiQlhFbpoG1wYSWNPnvpZrruykKmLch1B0ZwTw5f0kCX1Jx8Kql0PQSGhyDup576SjdeZpXnV89q9/gT14s3Qod77VlHJffj4SJANrOEc08BVNilgt2rqTTI/Jw/u3ET7ctoXcNnjcIL+UBCEA3UptOVBzX8ncIqpJwn3iODA2xHeB+fL0zjsvGz2hMPX/fjfxovY7x6MUyFV7p0wPPfY8NoXpa2T2BNvU2wH76TIOFsWNw/dbEhJGe5Pnvh24d8oh88xb9xBNFfhu6nB87IGfOz4vn/ZOSWe3QNGTM68py9gW+crZUmr/LifRvcPKhv9D1hO/4vRwjhPF/eSyzCinslaBYTj46O0siINbD4pPca28HKg1bCVOP/Yi6kiotH+LMA39ERMnm6EiIO4P5pzbL2FvK0d3rbbzeX2bLXPnnylD1okSPBe9bK2xbtKkgLsFc8bSMjre0KvmI7Yy42ev58hKb7SvzHpXRmW4ypnIGHGrjadqLAtH+yut3vvM5gzKXsWlO+PSVaaNpbjd2m/ZOV6x83+ftp+Nkw9Z2KpKGLzZZrgt8WQz3tlv1zyf5NB9M5NK+VzhUrwyn1N2vfiLlazXGy7ff7rvP+ZTcee1tHQxF/DlwrazW148XMM9x//8IN0347/nZ9zdfSbPVru5HDZ+4eqq3g71pWvFYW5xC+h1n1T6RdPuvV/UDaZF+YbF3GmeW+2Gv9oK1i2dnwI19Rx1/0W8BvAb8F/BbwkQVmw4Y5F/cYBm0/3MQP7AAeIuwwHjrIxaCsAYhFnw7WKmCpjFFzBi0N42Ws6tkLOq6LN+6xDymjVAMAxUMXfKGf6KiOV2VKGUAsgFvU42u0s3elb7K58FPHA3BG3cw7V+gS93xORdU7KHGjBmDDy1j6YPdtGRv0urQjB9ACEA7gLM5tAzCLdoA6qKMMsAmg19dxWpje9FWf8X8VQNvE1V8yUIQG4QegB/TgjbbOwlQGgVCPbG1ggG5rQjj3iQcg6ACGIseFh9fgg7KAQVJHG8Idy1m9kC2yhBbhpkEHPSQHMIWyXBgnPEVn0GPeAKGgm/TLGORoE3lqO0Bq8YLM26F5EoHWmCBDbce8RU+shSSjbACBuCDTCsQQfc4mHuM1xLqiDfwliY1QBzDZnniUgRMB4KADxgAQRAhoAIG5W7WXAWTe8LSE3mrCmsl9o7YDkAUgeLv1jO6xqYK+kIUkvFEHaKjOX+VnLGMc5idAuswVwDZ4IQc/tMOLFGt0Oz2IgWR4myYt+oBZSthq0GGcKh91yMFcUC7cqYXFFs9YMMCawxtZxgEwBi0uDUDW7id4j18qy6LqMBdoapwTdJB5CWgrOmA9JMGOKuiLdcG6AexVk+iBNvCFjvAmhpcx7ne04f6F/iot2qpDNAAd633nXIO+7irwDjtAZ9Djep3JF3v1XNxrf3F0F22IOUgZC5ZSzPKvGaxNT22g46XVXA7Jq6TRwVG3pXn29DGvd3TgTuq9fcetD5XHT/s4zGnXJdc5nfWxx9irdSLeXrgv+koi9c9FEfDi3jXqK4/hz51nndX06qU1wIP7CfckvHWtEvoB9ExXunz/ND80unZLO9cagHZ2+4+UdnbllEQCwMzfuYIyN35PpYe2TomXLwa/HHjkXBPNM/XH8gJ+CAYv0dQzWuj1lwPm3hh28nGEhQBaN1pqKWXlFwxgwob5HdPn/fKy7wG15YTwHDZVFNKT4WEu/xh7kF69eG6pMjy8J5ue9GpRROTsXvB5L8VBORc7qbs8n+/lgfvj/9cmK2+ujkMocISgNia8xID/Z+yTcyUhbDnu7/Luw9Oucq3jCNtnOkLBe6v8bNlrAdYCfIU3LRJA2YmCtjJn8cRVAV3pm2g+kYf+U6XBmZFNB1ItgQfuP5hu2T8Z+bcauzSwptwcrLlVf4H7r1e0+VTuZHT1j9GA3uGBPt7Lh653Wq4JflsMXmqx7J9LtqzdEUsJv1piORe86IAXHubSnGZK19uPL9iCotAD+1vT6RT+P8fngZluPaVnuf92k29f3qi7Ek04dsBMJtou3tHCJ++szKG/CN1nSbe3uoz+4cQhy34r/mr7RPcCX9P5Yq/1g7bKqszFH/mK+v6i3wJ+C/gt4LeAhQVmw4Y5G/YYb98kA2gb9qfNVNp1gL/04YsfPFXDUjdQ/KbP+LxaAVkFLEAddLEeAFuhn0wuHqqTGStjwENAVoQpFnBV+ieVGwBolYedzgCYVZBZwibL+CPr3cNOSzvAGikDdAEQijoelAt4JSCe0CHHA7VjsVr4ZwBQAOvQDn64UtfNp5Jgl7cv+sAP4WlQPrlIA6LDl7nAZQG70A+gWOrzNi1kD115eI/+0LhQ+rvwg3zhX1bAX4CUF7o0b2HQyYV2oZE26CxA34kf/sjgNXTENfzoLucCXMsY5NBDAEG1XcoA6KQsHosYA9ALoBh0gY2Q0A5wT7UxxiOpayP81Bz6Iwk91kT6a07sd9MR/GFPjBGdMFZsCm9TAW2Fx63GCgL4C1BQ2sSG0Bn6CXAL3uCFHPNTE0BGOZcX7Sr4J/cNxhptKusP2ZIwV3hKo01sKGsm9oJ8yMA8RW/ksEHysk85pDHO7YVsGQP+CKGMhPHCXx2POfd3VHOfakOMkXmYjUMb5oIxYj/Ihd49aUdZpvwBXVNyhA4yQ5eafcvYC1h4w0sX9sKFNVKT2BG8kcBPvR/Rhj60i/c09BI7qPPFOFkTzF3+V0CLpALvqGMs9MULBcYH7t7uG57oWQGLP77Yq+fiXgtgLT1yJ69D9L4QBmo79p+njsDzVPNNLV8jT8eDo/k7V1LipiWUnlekexKJads7uxi0HXqmPQwHUJu45E8E4HaiSc6qHRt8Sq9Gnuln5vZXJdHLPs9eaeKd2JIebSpSQu72tpmHbDMd5GXjy7FRSmj8ngrP76LBpnzqvaWBuF13Ne98L9np5HJOJf53rishdXWC11AAiI6HuWODT2h4dJR+Gx/OQOe9+hyCR/Rk0vCLfnLUfs7RTTAe53IOPn/I3/MA6E5nQsjtNTEHeQ4/VZVwXlduHhrZV3rUxRzl/5Pn/VrY8TM3rzHrwoC1VLBrla/EzGk+AB/xWaKmjgLt+2FLmnachto328s4+/p+v/WLJb7S//lAHyUv/8wyPL2nvdPbfju9Z8teOxVPW3V+dh66oIPt5JK6mqu8pqM8OvScQZHzkUWW7AFcNey0jnpiOdCmo/f0OZb7oE37zWEkfXr5FvdfK7AOiW4c469PrwXGhjTQVn7XmUl7WnRcj6hi1j+X2qrXRVLav7ufJ6/qf/ZQJnviqm3+smaBW0/b+buYnT3wTK62JJr/z59eMX/p7H6rdubtraoOO1Ze99VcOcHhj60G3uvvZv03lyfRP0aan/eNsTHtzfR/hgTQs9Hxv4OseNu1e7uXeqK3k+WLvdYP2ioWng0/8hV1/EW/BfwW8FvAbwEfWWA2bJhzcY9h0PaTLfywDl/6cMGTdWd+DWWuCWbQ0wh2AggFnRHMVQGFSZVtANGJ8pMwx0IvoC2HTJZQygpYKHRe51MErI16Ri00P09YBWsSl32ie9NWpUYxuGOnd/imHxgggPenADqZu1fr3qBpu7QzSlUeyzdrHptqm5RPhe9nfqhDFwC3KAO0PdnaSNBJaNEGkAIXAChpRx7l9BRV21AucIZllHaMEwBQ2iAXZQHXpN2bvLQ0x00fAIgCmgofAb4EIJR25LAnADN1bdR+KQOgQxJe0o5cPI3VNtCLTQEyQi+AcaABaCtJxgBoLd67zs2+APykH3JFNmwJgFv4o64mAKIYh3nJeiGHTmjHWJU32gQwRBn3F5LwlzFoExuq4+1sh4cYSUv/NG6NwQcJvHGp/KQN5yJLGTnASXUeaFP1Flr5/xAPbPDGhfDTalJlqmWAs+AlNsb8cE+dORmkA+fgI0C1gMqgU20m84PdxW7gK3qJvshBo+ogXt6y5saHQepYlF9X8sVePRf32v84sZdyNsyjlGVfUExkhQ7ang+64AJtH4+MWxaE2oz7/j1yxCeR6lELwvyScsou1ELQo361TrsPH1w1Dy07jjkedI8MMwg4UJNCfaVRXFZDfJuNMbYh9LFVdAGcO4r7TQAy41hf1XGcAr6XPLzXRsWdAZTQuGDKrOWFCniejilnBk+Z8RQYsHd0aRQN1mcxl4uPHtCyokxet2edrrNhvRVRcmE/pTQv1Ye192azPa3OUdMJp1gYGx6gK3nH6C9CAvj7wtthAXxu7xTZ2g7HvZi4+CMCMClp6LH28tOFEs2u0v5zza81alFd7l3UHvDKPtWY4B4lYq7Yp//5+BDw06U7wkrjM6+nwfyM0emSa+Q7m/ZaT2faiu5qeGSAvbW1GtDoOgvXPEy/jH+d+dCdxwyaXEq1/hxO+81aAoDly9ST18Byrc6sHbr7hPutzrz1pS5+XhOzAKJMaC9fWR89gKMQnnW6zl+fGOfZSVW2MNj2zFq86OD4xXyyOvN2ds5qZrTqeVjP38XspOG7b0X+Ubah1Zm1Ty/f5n6rM2/t+Nv1IYIFjtiwSv3D91j/NcWR9JvYMCsyOnX1In8HvDc4YEkzWzt8sdf6QVtldefij3xFfX/RbwG/BfwW8FvAwgKzYcOcDXuMpzfFjP0M2n62zQ20RZjfE6nVlBiWSjH7V+jhiOWhf0n8Dv4CpoK2AEdzA9w954R+Inl66EJzT1gjOGqsGwBYhBpmeU4AWLxfVV0noo/QxG3VwitLXXKAwFK2ylXPWisaT+1GcOs3Adp5c6Ebvx8HctrxEkDHjsZT38kVn7vN+chRzWsMAO3vd62hE/tcgGHw4o9ox4ov+HKs+MJtnCc50h+3xLmWhjVGvwpoCf1E84wDm9z0EQBYtTWAPQHyzPjiAaaMM+tHG/gBNAR4p3rZWtFDpngOA4wTgE/owU8AVbThXFnpkxzAiZRBDx6YB/SFzcRu6EMC8Kfqhn6Riz6ZI9qkXfirOeYIoBm5tGMOAnqgTR0v8xRaNX/U0808VF7SDyBbyma5gKdqH/iovFSgU+iM+gg9wk4DOEeC7dWxQgMe8kAb/WhX/98wDkm1M8agHeugypb1NQOWRVfJsTayntKGHDogYd1hLySspUqDspqM+8JU6ypvY9kXe/Vc3GsfncviNagPd1BshHaWLTxtOw+7QNvnD8aHhBVP1by4KErIyKYXL7S30BESzJGURi3trrfmSw5sopyt2hnNRrvb1Z+dr9KA27pM9uC0ozXru3S6iOf2+KYrNLjQ4T61AnSFxhf58Is+/l6Se24z5603033BlrK3LKTm1JM+4eUrJiM3O3m9Xty5zCwH71zl+uj965MWIQ8G7/SdZx457Rsp79zMhIQe7qqlgPggfmCHfGzYPbT/pCdlM/B8Ubp2zzojYpzLT+H6cN8Tm1E/ny7ZaxHWXPY3eCj708QsULhnDaWt+YqMobynurcax9tpM5v22p6e67Rq1WY+n1ZCIwOU3bhxF4dLVvtxhm1gYAjdvXuP0tNz9TNtZZzVnGEbuUDjja2seHrT/uRiL4Mi14qaLYflvLONAGD5MnUnVLDc4Yf9pmxHn2kewB0nCk37/Y0zbwG8VAnQ9tVL9yMxVE36K+Po2Tn3aD1q/1wqF36+l4r+vN9SZbzoANB28M4jS5qfa8fFexX8ndZu/gBtT2XtYxu+fG7uqfrsvnamdneib+8pvCRp913x5dgL1n9pfjC9k2wdpaPt3m3+DnjliW/uAePn/1Trdvb3xV7rB20VC8+GH/mKOv6i3wJ+C/gt4LeAjywwGzbMubjHALQN/WK7DtrG1H7NX66yc6r4gbDD4SABQsvDd1FqyLd0tbmSaXQgdOW7TFOTqp3lZAQH1Lo+xgDEVVeHME+VFmXxlEUZQKndubGgicv6kh+8Je1wBxjVUM7x27RQxInbXaF/3eSKx+/Kd8nIR4BYY3hjGS/9qBs9lIVmIrl4YqrgD8b9cYd2zi/CFsdv185lnQi/6aAJWa3ZWnjHLHY/D1naZ3tuBXyZAWcC2gFsk7LV/FSQ0opGbRfAT21TywAPLyhewmZ6q/SiP0BE6Kv2AShEspsDaOz6VX5mZcxfQEhjv53u4l1sHIO6Gfio0uVtX+o2T7VPyiqwrbcpYLO0qTkeWsOOZh6voBNwWx0jZeiMkMpSlxz/21gXFfz1xt7qOOGJHO2QCRuDnxEsFlofbb1es/HFXj0X99qGuGMU//271FvSQ3HhLtD2QnCX7mn77K7JWZ2vXvEZo5UnAik6OZ2aWtvZ5pd7rvEeff+h9oCDX5D4/l3qLM7wek0Qqm/kugbWeT0YobgHByj2+3cJXsHGlL15oenZmEY6X9SrLofx94joui9pZNQ3wB9Cwc6G8ymN9hk4k8bnDuOhr4DuNPbSSOZVPb7xW4INJTRyx+08r8ZPlhjew3eLI+nvj+2hCxXTGxpZ1RF7AT4jkXBucUnQFrX7Z18G8Cj7RVW49QP3n72hTAzwpPcaxX3/LgO3xft/pFsd1kCeyXCfNP1c91qfGG8STO41XWLQ5HZtp+Xooi/2EQAsX6Zzx/NZ7quxV5ZscZZuy0HfvMhkKcTfMWEL4FgagLZ2aaAmlYbOWofaths72/qy39lG5YusX/rBiw4AbR9398421V+7Pudv51NswzxbPdCfl77NNsT0y+EXbONz4b498iL33BY6dSHAVj+Aygtz99Pnmdah4e8O9jNo23r3ti2v2djpi73WD9oqKzsXf+Qr6o8vvhyh3jsXKb+rkSLbq+hgez3Fd3VQ5Z2HNDy1323jZflb/BbwW8BvgVlsgdmwYc6GPcbbN8kYtP1yB53OOEaFVbsoo3INxdesptycUg20TUqj2PpF/GALAMPju9cYiEltWaaHRwYQ6zj1CRlB27itH/E5rgmrP2JvsvSd37HXbtLS8R6UvVda+GFr0hoXkBq3+D3KLlqrPzSS8IfyEEnNE5ZoHrEFpzYzPcBltV8tCxCb41jFMjMOLyToyDQr39XnBVA3p2KDC5Be+S7rD1qAxwJmFx3WvF8xnsMwb/kjz1sHnAUEFqDaWJd2Z46HiACB0tbPHzeH/Uu18MDqfGayjLNlJy1v8Uck3rlmPPat/oo2rv5K5x/xg2dvZjM+vmgD4GUGiuF/AIA6AFFvALaJ6GQHZE5kvEoDHVWA0agrZPlqDvKCgSpfysaXDqR9tuQApu30n6ieRvuq48xAYrVfLftCF5WfXbk8+Ce64/QC9nbf8ERv91XBF3v1XNxrk5Z8TKfWzaNbRbcYpOXzbPefpwsh3S7Q9rYJaEvEYVxTV39J9c2tvC8PDg1RRU0dJWbm6KaWFzOmOwyxLtBQwP8AvFLV9GJ4iD/Pzxd5DySrfCZafjJ0k/f02qu+84x9Xfb0NOeXT+7yQ9/hS418lu1g89QfxNVejaKY+q/1l/iGRnzj8eBpLuh/frWVSjOO0vOrZydC7hMaiabRlh3P9+mVM2U+4fumMGnPTWK7nD7uW5DpTbGP3Twe9lykuO+178vxC9+ntNVfESIReNo7ve230+FN2Wvt5qj2wXZyod1oS5V2Oso3y9sYFHnYoZ2RbSajbOFRAoDly9S8P5Vi/87+OIDEf15Gddsmd+a5L3X189IsMNLb7Rm0rc+iwQbXd7y5bLvUf1tLNRusv5fhRQeAtveaLs7laU6L7mdvpNqeGQuhyc2LKSNlHSW9tcJWB7y80RyYZkvjbSdCI1dcdB01YTYeoO132TvohwLrF0fweY0jtaqc0U/M+HjTZvz8n2rdTrYv9lo/aKtYeDb8yFfUmUJxjJ7c7aTI1nI+EwkP3cddrfVUdHdoCjL8Q/0W8FvAb4G5Y4HZsGHOxT2GQdt5P1HcJwuo6FAApRQvp8TatZSZVayDtoXtBxngwUNhJIRBLTj/kw5uwqMUX8iMXnWl6UcpqvJTSo/VwjUK6GoEOFJ2fMl8wQPArgAN1ZGBbqDto8FrLBf9ElIUgPHNuy0cmjl+yQfUdEnzKMzL26PzEX7IcZZsyo6vua88MYD1rksL1eUiHDLmE7/kQ8rfu5LlQS+kzJRlFF86j71v0Ya5gScAZwHIomM+oqzjS9kjWUBb1bsYHrrSznotcj/LdtW6+bQhK4Hya8vdPGkBaKrzkDLoUQ5eNDkv14U/fq/zNeNhbAP9T5MMd3z0x+9o0YmDJMAz5vTp1qUkQDDmglDLMje1LG1qHr9E85gWGwhfoUE93uANLH12uR3IBo9L3L+4PHnS2vExypf72dg+2brxf0zlI8AggNvJAsUyN8jx5P0K2SJT1cOsLHzVPrSZtas0ky1DdzP9J6qvyLWzt9BMZy76mtlJ+ozy8SA5ddWf6cmtyYdU5Q9GL//4Yq+ei3st7H+7ZC/1dfcxSHvZcYUt1x16UQdtB2+a/267cbaWPxdvXzxP8elZVFZdS/FpWVRd36RbP33dfN4X9YYZLnSV5rKOfXdcnhJ3utq57V63K4TzdKtVeH4nDTy/P91iZgX/obZSfvALj52R61O38YOBK/ydCN9v4D0xo2nsJYPPY4MzG55Y/ezGSwb+5LIAzsauOKpF5XC1+ksTsQAAb5xFjs993mtX/pm6ynInMtRnND/XvdZnBvSS0ZWsWgae+q9b7z/V6yMJAJYvU+2WGEp+e6Uty/TfbqDTq8JtafydM2eBkWvnPIK2Q80FhIgab0JK+OViatydZDkVvOgA0PZmWaslzc+1o+FaLGXanBkLu6A/NWU5ZfzHRlszJb21nGq3xtjSeNuZ1LSIzlyJsB2G75TfZPxIa0vto7cAtC243GXLazZ2+mKv9YO2ysrOzI/8Ueq/eYUSTjbRh5tr6W/Wade/7WyiXflX6Eq/dex6RVWb4hj19tTTQTOgdlxbJUX2PLTh5e+aXgs8oqwVb9Oy3Jl7U3lK82kLpl/9Opi0wGtT4uQ++F4uLfv1asq65948m2vDw8O0aes2ys6Z2R9Ys9kms1232bBhzsweY78S3r5JBtD22Dc7yfE/5/EX5rL4Q1R2NlEHbHFm3qm6TAY2AFhJqs+PpfyIddoDiZBv+UFf7/mzFPvn9yhhmQYgnm7IYgA4v2MHDxt4/oDu9HVS5UktjDLAUYAMzfVaSEX0lQRvZZ540IEEcBhf9gBqSQJAKmdsJRz5nHm2lSdTee5eLmNsRsV+5lOwzxXeDe0N5xyUe3QF3bl3n2nBG2B0RfFBpof3Lbx7q2MPMjAn8iH70v3T7IGS4vhBf7ApevLcv3uHPY4xT4wDgIv+gkztDFWA15CHC+24Epe7hzj+9f5N9LYjhD5OjyOcWyt0ADAj1s7T62o7gFVPAKfQG3N8QZY2AT+FH/KvneGYhQZn12KMAK3SLnn4ph90ftKG/NCKz+l/B+/msQIUA/zFGb2Sg7fMA4DrXxz6yc3zFnwiF2retxgTsVkDeCVkNNpEL7SB39GDmue16KJ68hpBXtAkLv2YX1AQemOOFxNwL4oXrni3GelQl/DExj65d9V28BXgHzkuMwBOHWMsgx4PoOUy9qMdAJ6VXlbgnsoHPOCdJPNGHQk0Rn3V+VTEhJreFypvlMHP2AZ7G9sTnecdQ2b2tiXjxhh5oG42b9hdksiA3nbhjs14q20TsaNKbywbx9sB+qCF3qK75CpPtAnP+EUfcBhb9Ato212RP87ur8fkAAAgAElEQVQjxdt9xEgvNjXLfbFXz8W99kZLLY3cLWeT1HxTSz3JmjfOub0dOmjbtP4sPbs7PM5so8+H+R6HR2BHV7e+P1+7qQGkdzpbub+3vXHc2JlqGHrykHXA2aCSOgrSuA36z1SaSe/QmZqTlZxXz4eo71QEP/wdezZgReZVO7wm8B1lpkIjq8qNPr6jVmekjDC2+Dz0e5POiLl/NkIu15S49t2F71PGj9/StaZq/147jXeAfA8x5tMo0o31hdhS/h39/In1Z3HDrkQCgOXLVLk8jDJ/v8mWZe77P1HJt4dsafydM2eB55ebPYO2bSXUfzpx5pSaJkkI2w1Atu2o6xmSURRedADNlawzxq6ffb368nGPL9HhJbvE1B8o78OdtvbK+N2PVLnCPiy3LQND59irlxSL6Cw37F8uwHfK+RmrKLC20sDBvYrnS8mdbe6Nk6zJPiDDp1oXPma5L37X+kFbxbLT/iP/YQ8dD6ylt3a3kKOql3r7+6h/5AU9H+yj/tu9lJfZQp9vrKX5KT30YJLY7XBv8wQBW/G+raTk3hHFCh6KDNy9Tb/69dv0q+DJvrXbQYd+/TYdMvmfaw8Gb3MAj/smJVOTxzpDb+PlxlMDUlUao54Pc1eP58E8x+utzUeR6SbLqZdbmwf7m3SzPitySYPfLXg61804FxN2lk3avMfP0WqAu14KlQH8FXuO002912BffY4KrxkCfAWkxX3x3+99QNXVZzgPDglVlPEXZ7MFZsOGOe17zDQsAIO23+3iL8v4wtx6JItaOzr1h8IAbVPzsuhCXglF/6953A81qtdF6sBNYmgAA6A3r1+jmI8+oPRNPxA8SrMrEiixcheVdx5307wkNpwfkgHUBJAyMqp5NwBIbUyL5j48REOq74lhAFQFjAFC4Pw+ADYpe76l8pBgpr3+qIku3jzL41PLQqkwdIOuI/jlBiyngcEhKi0OYdC2ubuc4s8sYEC66WwejxNvYgBTkAPwNbbWdZYIxqdkL6Pstg38YBNeu0iddVWUtn4e2wF1eBVL+OS6gkj2SsZZcRiHS87YTVhzmBK3uEJC4wsrrj8kRtIKJygJ3QFubtqxXLcN2nAB5JQLoKW0Ry38QC+jDQCsAJYAZ1FHO2RhHC6AnMIT7QlBW2lvahS3CW+AyjJGZKk5+tW6lKE/xuESOeAJYBa52oc6PHDRhn4BV3GOrwDLyEUn8IYc1NU2jJc+0UNAYaGXdoC9u1d9ScV5ybrnpREAA5gHL3MBLDFWLQsv5Lg3pQ+AWfr6b1hHgIHgodKiDPBQ6EuO7GAdhA5yBXQT3sbxqON/CTygt+gOeQKm4n/IyrMU4wEOmgGbGC8ALPgjiXeq1DFWwMXuqmKej9RBm3sskOcsukCe6Ci6wwYSrhJtQgsZ0Et0SFjyJ4pZq3nk5+9ZS7m73V/MwFizS/6n1T4VtIUc9EEvFVjHPIwgLuqq/ipPq3aVxliWuSGX8bIWohfG4D6ojtReMEEZNEgyBrYWXiID46W/oyCVBPAGaIuXD3oaTjOPmfrji716Lu61sO+rF/1sZoC217NucLl2QZ0O2tZ8U0fnAsx/e5UGbWHvfgxKyy3gPfrFqPZjsvpEIJ97a3wowQJm8E/B7tV8/4nIymO7KWfbEqn682mwwPMrLdRfZe3B4q3Ic7dy+bsNXj77uaS62BDee34u8/XPc2YsUHJwMyUt/UQ7k/zYnpkRqkj5Oe+1ihlmrNh+LJd/S9udLYvf2Pit7ctU8k0Q5X/kerHZjHfxl4FU8MnM34NmuvjbiIa7aulpsfb93coeOKu+ryzaqnvOtI/0P+N7vtNRYqnz88cDTIMXH/zJ3QJl3UFU3Gl/Ziz6YzO+oVPzDroPNtTyPsDLG0GG1slXn4/28/fF7nv2R0vE1s+j7zKXUuw5+7Pd8dwm4mzD5BV6TSN9sdf6QVtl8abvR/4o9be204cb62l/g/NHztgjai1tpeW76+nD4FZK73R6W44+oNMx9fTWznaq99br9uVdym8TMNaLvK2Drk3ojFsNEHT3DEXbxIE8zdwan3EgHaE9mA4Fm3ufTgi09QhO2nm3anq5gdEMCprro9w6pIGzqheqCS+yk61y8648DhwdB2RayTXTUZPNPH0KJitzMoC2So9e1IBc9/tqvI2JaNxcdRY+LcCj9qv539GTp099yldlJsBwc8vMndekyn/Ty7Nhw5y+PWbiq2d8aOupzqDtgj38ZVlA2xu9t9xAWwC31UWnKXreWspafZSVAS2Aypg9myk6NITbAPbGLFxIifu3UGFzGKXkpzKfzu5LDJaOvHhBd+q7qCA1kcERgJoAFJAAhiakZ1NLZQkVbtpKvfWtdLehm0b6NUAXIK0kASpQz1m+jfKWaj9WET4ZwG/SpoUst7uqgB/EwdsWZ+UiZ2C4uZbKqs9QclEUxZQtZ4AJukMHyQWcA31hZAbz6+3W+GMsEt4crIzRzvpCG4AcSedvF1ByruYpW595kkMuN9cnU0d3Pnvs4hzcuAXvk2NBAKUkuLxTBbxErgKMAB+ljhygKwBKASYFFP2HA1sZqPx01xoSj1aAN6CV8QKUoh3j4ZWKC2W0CWAKG7TfvMqy0AeZyOEJLLyRi3crwFX0S11AIwBGf3v8APehH/LBC/psrzpFO7Yu1vvQL9eqklz6T0coCRAMevGqlTJyocfcAQhLHbnIgi7QD/SiF+YpZdgH9aD6Kr4f0N5Smq/3AwiTBKBPxuH+Rb084hC3CbiKOcN+uCdwvwqwKCAhxoNWADbc3yNDg8yjKtnBovD/AjqMEdAN9AARIVdkgQZAZktmnE4r/WBUtG8D85H/IQGDZQ4CSMpcpF1ygJ0qDXiCF/rlZQrQYDzaWhu1H1xSh/5Z0RHcJ/MQwFFkgFYS2gDYQiZyyEC/1OvKSynmx8XMr/RYAJVGHXWzBcanrtVCoAt/5KodpQ6bSxJ9sV6qjdpKcnm+AkLL5w9sgPUQcFlkCR/U1T5ZL7Gl8ENdQGKArtAJfaKD8EOOhM8k8BY90YayzEnoVX2kH7S5B7dR7JFAig8JouJj2ueXp33C235W1OKPL/bqubjXquYQ0HbkyQid+U4DbavnnyGAtvVLzb1lEVoTa/rs6SPquXGTiiuqmKV8bjSnRqkiXksZZ9dCx4EHd1l+2pqv+Dze16LMz0XoqzF6fs0VMWCq0x4aeUw57fZeW1OVMdvGD/fNbEjm2TZ/vz7TZwGcY/u413XGqbd7qSd6O83flL3Wbo5qH2wlF9rFdpKrtNNRbtqbQnF/736uu1FOp+MU/94GkOWrBMAWwK1dqlgSQll/2GxH4u+bQQs866j0CMgOwxsXwO7YhB7iz6D23okavPWQ7/nLGTWWA3Vv3BB/hEOjkYrO76by7sPGZrc6+mNyv6bK5fbORsVfH6D8P+12GzuVSv/wPX4WdvOJfVjrhMaFtDRnMZ26an9mMZ7bBNX75kVi4+f+VOt2dvLFXusHbRULT9eP/Ocd7fTOhiZKv/3CKe0JlYS6QiNLiOR1NfKj4AX1FjfRL3e0U6s3EaN6m8efXTsuJLI5mBvfO6ZYwqqogXzuYCva3ME1q9GudjM+RAQwb0UutcOT1QQwtAdt3T1k3XV0SSYb4HQc+CnDPAGDJkAx62rmGSo8fZib6e1mKxOQVANFrT2mud9kDbxR20wvHm+ijxtfJ1ButoZu88IgT2vjxnjyFYC2CIcMYHW6kh+0nS7Lanxnw4Y5XXvMdFqOQduFATpo27ArgUEBALXqFZOQRg5HIsVEJlBKZh6DjQByQRMdEU4AmBpa2ij68GFyOBxu3rpov9yjAZ54yzivoIQf7OJMWIQVRgLoCV7Is5cdIejh+N0aBnkHeh8SLkkVuZnMH/W8bw8wnfQBdI3fu415Pb57i8EWACECoAGQBjicU1RCjpREis3dzPPF2YACVgMUQSoN2s9nBqYdiGZ+FQcTCQA0vJyQ4DkL3kjgibKqJ7x0W9syqDrqBIdNdqxeo3sqA1hJWPw1OZYHUmLhUopf9SEdXv+NG+D4n8cDaekeLQS1CtqiDK/ZpTuWu9EbwcqFKdEEj1uAlQLanvzhfR5zcP+PzAMA7F8e26fzAV8BgHliRBS45mv6r5jjDHhqX6irdA9WgKgAiPGgHgAu+sWTFm0AK5EQ7ln0Axi72QnAFl/ppsykCL3v/WQH/T5RqwNADcjK4D7wAuAK3TAf5B/GR1Lf82F9LPiL7iILOeaO8cgF9I1a/40+B7EPxgJEFhCkpihXB1XFFriPca8DaAOwJuuP+xbjAOQJOIoxuO9Ak3/oJ9ZBQFuAl+ol/MFXzqkUcA78BOzEfaPywLxwJW1aRDWJEawDeIAO+iEVHdyql0WOjEMu/KEneKMN43ElrfqSeaIs7cIDgOWl5jqpMj1oisq1H1wyBv/jKQ530LYk/AAhZDISAEuxI/5/wQMAtHjGgga04Acb4/8PnzlMV1nCnwViH7Thqs+M1+2LOnTFWgC8hCyAqcakrhv6BJDFiySSwAt6SEJZwFeRLQAs1gEyRTeU0QcbA8BVbQ3ZaWtdHv3CHzpI9AGRCxvJWgkd+iAfPKWMsZANO4Ie/X39AxSdnM6fZzEpGZSUlcsvqwifmch9sVfPxb1Wta2AtmirW9Sge9qe+b6OLhw1P88JQCjW8GJlIbO6d197SfhiRYG2tnddZ8mqsmayPPhIe6HgfGEaSbhk0Xcm9fDLmpoFHg5enRoD/2i/BfwWeO0W8O+1M7sEZzY6KOV/r7IVejm9hn9vA8jyVcr8z40eQ57W/BjlUTdf6ePn49kCQ62nqL/KPvTxyM0LHEL51YjvAH7Pmvme4vGFG3zP3yixd1rBCw+NAcm+V2COc8w9t5lqrth7ZaM/uvjPVLvZ3jO7Ylmox1Dq3pjr0WAPg7aPhq7bDktsWkFr8n+gc/ftj8D46+OB9FO16ze3LdNZ1OmLvdYP2ioLOi0/8oev0f4d9bS/Qwt5xeIudtB/OM+yFcCW860ddEHXp59a4+rpnbSJ/8ju6q6cNGi7r9uTHKdXph5aOJjanWClXShhfTpuBXPQFoAce/EyEKd6rWqDxwF2bjylooG3ZoCfRmHvderuRezO07zPaRc3gNN8fsLNlRt1Ed21XOyqzUW1v7ttTMFRHcwUni6pamk8OOsum3UQ8FkBW3ncuPNtnWOdtjDVC8IVPqyLrqummTlvp9YexjqpfJoBsJW1QI66AKwoI0kdXrIImSz00q8qpPYLENzTc43DLcs4KzngA29feP2KR+5UZau6vcnl2bBhTsse4+WiefsmGUDbkMV7ddA27TdrTUFbFcDl8oIASkzO5If/qAPMKiyr1OsAnmRMdlEJA1EAtgo/38vtsUs/5bw8NIYe4Qu9AhIjZHDmp7sYGC7YF0tpO06wfvDSbQ3OpszEZKaHaRzrD+ugLQDTyuxS9vwFP4BeANgAZCDdvX3bDUxmmckb9TaAIWgTz+DUIyGUmp1P8eEJ3A4wWWgw34Hhp/ToyVOWgXGNZ2qoISSTZUFufvt2ulHSQuXbQyj19AFyhB7j+bMu3ecoZsGfmW9s7kJKOPw1fZEUxV6sAjhGtjbQB8cPMlj5X8f20YFADfgDuAiv0N2BWqhioX8v6aQOYH6ZFE2x1afpeGgA0yKcMEDP4LXzmSb1QjvnkPH/ngzRx+0/tI29U8FTUkr4AXo/9gR9GLiFPkqLoZv9T5keICh0Abj6waEdVNVxVucjAFZVugZwgUb0hMykNAePreu9Tj33buueuL+NCKbzD+4yLfoAhmMcZB04eZg+CdrBIZLhVRsQF8+A0z+GB+m8BYAOrK3QgWKAyQg1vWDrEp0upzBdB23BG/aBRy/mhwT9CwqLGZzN3LJITMHrj7VHAhiGewtrjXvfKjFwF3GYecq9CGANgBoAPwB5ku7d0P6PUMdLBAJ6C/B3T3lLFW1yPnTc+u+pvaKY2QCgA3/hWxxxWAdFRQ7GApDF/6ExYe4Y31KYSSlbtNCmAvoBTJUEAPR8a4tUeQz48v9VUho1N7ewfRA2HS9ygG/K7g2UuPYbyowIoeRjmmcAbCJ2xOcGdIIXvwCe+B/LijxGDUU5LEv4J6z4gtcDtocu4tUav/gjHg9irI0ApOADQBk59PSUYL/K8EDCSyJWSWwt9ztyzEVsyC+yBO1lABjrKUkAdegt9wT+V6CvmkAH+YhmIKCy2b2Gvgv11fz/gLXDnKEbLrEv2to7uygmxQXaJmfl0oVLV3SPFJHt7T5ipBc+Zrkv9uq5uNea2QJtXce6GbStXVRPnYcv0Mvn1l4VOVsWUXmwdka88CvYtYoK92gvx0jb68zzflpOCJN842wt/x88un7ldarjl+23gN8CfgvMGgsY98qp1u0m9qbstXZzVPtgS7nQbrStSjsd5Yqlxzx6s+I3ISJVAcjyVUr+nyupdqv228WKJ8AwT17AVmP97b63wGBTHg3UptsyHn1wQzuvfmj6ogDaKuCjTkRNwz2P3C7hhQe8XOBP7hZIP7uKmm/YH4GB/qjKz6gpMMV9sKF2ZpODkt9eaWidfPVOXyeDtgiTbJcSm9fT5qLv6b4S3cqM/p9PBtPa0jyzLq/bjJ//U63bKeCLvdYP2ioWno4f+f21LfQ3B7tJPfnlQWkjuYG1OoDbSOmaA4+m1d0LNH9dO9k7lLsm0HrB3IsWD909XhdcoVlcHI0lEzDSALgZR5jXTfhwaGQ559asn7QQxG7gqBl3e5DS0tOW5yHyx/NlwFjAS6VbAxgNnsYMLBralDGuoqarCwwWwNQ1VuMPj1gBat2BUfCyAkdZZ6uzYJ1K8FgTm5oC5G6AqVH38V6vVnp5Am2tbM0qG9dpUvefawUmWgL4KgArxghQKqCs1AG2CpiKHOffApCVBMAWlySVrxGMBY3wFTloM9IJzVRkiz5vcj4bNszp2GOme80YtF26Twdt8cX66qkmyg9NYdDUERargzAClnDuSHRrj4tJoeyCU3pbdGyKXgY9gFsAcALaxmxdyf2xaw+TIyDcjVaAWHj26n2/mE/nK5vJ8fEWio1KYnqEM2ZdfreGwyiXLTxKKVEp7IWHdoC2uADCdrd1UVfnRSovqHCXlRWmg80JkRpfALMA5mIiTrrRxr+3mbKztLME49OyGIgGT/HQhczkz3eyTIBPbXVZ1BycRQDC41M1gBuewUiPcf7v0nka/6zvKbFyNfNRwU2AlusTNQ9VAKvgD90AYv4hcDMFh2znMjxX0fb76DAd9N2VlsK0wflpBIATgO3S7ctp345VDJCCN8Yg/+zkcfrnUC18cXHUUW5HH+yLhHC08+Et7ATn0fbLsAO0b83XDPBWXexi2Wj/q2P76G/CAgnnzwK4AnCH5Giu0/kWd3UyAIXQxfCURZJ5fxWpnX8M+QBvIRPlvzkeSJd6eykuOZ52HdzDbejD9a4jjP46LJDePXGU/jUsiHYU5lBnT4/OEyAx0uojO3ncf4QfYY9NhGyGjgB1YR/IeSc+gmmT1n/L9wVC4wI4xT0EQA3ripcPJAFExT2mAmliN6FBPf3wHpYlAB1yhC0GwCZtoAfIBy9wJKw1vGSRADJCVwGM0YZxDHJ+9w6f8drTrb0WCLATfJEj4Qzpxw/Ub6laON3ylBiK+Wkd33egU0FN1AGcAmS9e/8B9bQ1sfyKhEjmiT/dbQ0sXxoAYiNcsawLctgF9kG5OjqEUoN2UeKPCykj1kGOOA3Qh56Yi9DhvNqGM1oYLcwDcwRoCW9dzF/456al8lrA8xbttdnJrGN0cBDfs9ALPLF+Kn/Qgq+n1NlUz8A1wHusBf7PjWsLsBTzxtoAFBUwWEBTzB/zBDgLPaEPeAn4Dc9hWSe0o19N0BOfm5izJJSxVkZ6tKMNYDP0AG+8BADQHAltXZeuUFxaFvODp21qTgFduea7h4eio13ui716Lu61Vja5HHuVQVurfrW9JS2KcBbxmPMs2767vXzvXTpdpJK91vK5PO3/sNZxhHV7rcr4hfst4LeA3wI/Uwv499qZXfjirzyfG4uXjycCYHmjeezfLqDmQNd3RLOxbSGez9s1G+dvmx4LDNZl0GCjfSjgsf5HDNq+7HP//TY9Gk0fV3jYTuRFBYTvRhhvf3K3QGLTQrpw95R7o6HWebuIwdOWE/YvAjTtS6HYv1tgGD356vXHTSzXE4eE5i20s2R8hCvjuN/Gh9MPBfZzMI6ZDXVf7LV+0FZZyWn5kW/madvRTr/UgVolTPKGdmrVoxQ7PW2TrtFzRUfr4hg1d04AnLUCcDtdwJK1DBMwdVKgmQkfN0DQHKA1BRLHKauBiV572nqYhykA6QQQXaCrUxnDXAQo1r0odZDUCHwa6+OBUEgw6mKs6yZhPezP4+Wxuj76SHOA3DAvo1wjL67rntnOUMx6XUDo8XO0X2fDveNh3VwzmlpJBVfBSYBSAVONddAYwVWAt8tWruZ20QY0aEOfkd5MjhlfX8gWfd7kfDZsmNOyx3i5aN6+Scag7fL9bqBtwi+XuOpGQNVYVzxkBUyxzd/RPPEAwjCdGb9DJzXAWOX9py1UFq6dLSv8dZB4QQCHHcaPgtigKB3UYcAmt5gKC0op80Qy5WUUUGxonN7PfDIi3euQuSCAsqM0bzSRxfnv1lBaWo4bPTx7GWQWXd/5kcFhAC2nHSco/dv97AksfBJCYqngVDldrGqlmK1rmFdU4SKKr1nNAJeAlwKaYtz/fTSAvWFRBqgXVF1GyVVVdCImgP7NsZGBV4C68FJFuGGMhRcqABzht/F4EO3ft4k2BGymlbnaF2LQXX30kHUA/ccRoTwG8k53X6CLN7VQRuCzwAnaAkADiPd+5DE9rDH0+nO0FrrnvejjtCYlgQ6t0s4UBWgFoOtAUjLrBU/YpLozDIABiO28qJ13DPD245gTBNAW4Ch0QwLvxTEn6UBJIevGoXFDQ9gm6MO1KClWHwtANq6omIE+gLXgk9fRxnTiiSzAMMDuuKQY+q8jeyjheBAtyU9n0BlyAWaCNwA+eKoCSIUdRKZ4ROIek5DZsAvmijFqwjiAlQD2AB7C2xNtWXvWU3tNhQ5sY5zwBy+Aw7VOz9+cXat5PNYfCfYCYAj7gi9eglA9OSFHEmShT/RDO7xWc5PiGAzFmiKJfMwJclIzslhv6CTnUOckxgpbtqsAzGiETIQxljkgV0FbhCzGGdgAZQFkCl1ZdS3zFPvivFqMQ4KnKP6X+PNCGYOxkI1L5EA3eNmiDl5IWJvi0P08V5TRB/tfbbI+W4kHEvE9BCAcY0SGamOhwzpgDQSwlXbkol/v1cu6XuAFQBz3EMqiK2wOHVVgGDYV+eCnjlHHog913DMYI6A01hY8kRCuGftDZkEx0yI0cn5JOY2NjY3zSPF2HzHSs0CLP77Yq+fiXmthDrqa0DNh0PbepfN8r/W2a+feNiVHUsKiD2jU+fKLlYyZbH965ybriP+Jor3rZlK0X5bfAn4L+C0wqy1g3CunWreb7Juy19rNUe2DLeVCu9G2Ku10lHPf/4lKv7M/e5IjS/1iPnkKFTtR/eQs0HPh2rE9VuMuxJby7/rnjwesSPztM2iBgaokGjqrRUeyEvtqZJhB29FHrig9VrSzuR1n2eL5jKeQ4AWf7KHiLwNn81RmXLexV6MUW/81XX+kfee3UuDS9SoGT1uTs6xIuL09NI/XAp8bvkiXH5yeEGgb27SD9pePPwLIqMN7KQ76Iss+bLhxjFXd+Pk/1bqVHLT7Yq/1g7aKhafrR75+pu3dUU3a2D1KP6SAtU4Ad2HpPac2o9Rb6jzTdkRR0ENxesMjQ7gBMEPTONBMoxkPUKrKj+czDqgzAIQYPY5GZamXpwLaeuNpq8nBGbzjTp1g3V3esrpq4+ZgBGmNdTP7ThS0ddohOFjx0lU10cpGoFUoTG09bk2wjjJPpzzteTGzMYK6wvtN9rQVEBdzNYKw8LzV/y908Ppt3RvXSA8eEwFkJ0LjSba+Nm9wYTZsmNO1x0znsgG0PbHtqAuk/cV89zLCDwsgCYDVDGSV/onkywM1fhExWm7FT5Xrie+hk+zNCi9cXVd49jlDNMMz1+j5q9KNKy8IoPi4VDdeTLPNCTQr+uSEJZObNzIA3yANGI7bsm88+KyMFeA6KudH/tILGT/mZzHQCI9R0f/r6CD2hkU/QEsBtxxZYfRp0gYGbR25eexpCkAKQCVoAeAgRDLOo4W3YHhIEO09eoBBVYBPb50M1oE60B+KT2RACzmAu7TTwQwSwRsP/eq13HGSPS0BfDrSYujH2AimBWB7OCebjq6exw/uxbsQY//+2H769xNH6EBmOs9tcabLsxn3OMZti43h+W0ui2BvQpEJ4E7sAcAPALP07UpIYLB3fbSDcwB+kFvTeZ7rLVevMi28aGEb0GF+ALhBBz7IAeYKWCxrA5np8ApV7ieUYT+AnLA35IkuKGOMmgDGAawEiFHfoJ0DDXqAjHk5OWx3AHXiUSm8kONcXaT4DT/o9sT6w0Ma3pagYdAW/Ku1s2RBL7ZCGfT6PeMEUiFX5EAu5oH7BW0YK7pEB2nhzGEDyIGHrKTVBZr3OIBEXAALoa/wRQ7QUsBStlNcAgPMKg3KoifKsBXkI129rIGdsh7GcVIHPeaEs33RhvkiwfZFjlAGiVEW+uxcLfwS9DYmdT2xzjIG7cJX7CljAYgCYDYmdazohRx8cQ9KG8bJvQM9cT9gfXEut/AAvYyRuYg+GA868MA64Bxh8FD5wwMXPIUWOryO5Iu9ei7utVa2vpo0cdCWXr1ij+662BAae/mSUlZ+QTWRB61Yv7b27M3a5xU8zP3JbwG/BfwW8Ftg5i3g32tn1ubpv91AVavDbYXiGB8AWACyfJGGH/Yxv+7EClt2V7Jqma7/ujyLtiX3d06zBfrKounZOfs1gwpPC8PoxQxh4R4AACAASURBVN2eadZmetl3Okr43hvptz+bFy885P7R/fiP6dVs9nMfftHPz4ceDFy2VfbapUamay/UjhGyIu6KL+e1GH5oH87Yaryx/fztwgmBticbdlPw6S+Nw8fVv8xOpHdT5l6IbF/stX7QVrkdpu9H/ij1t7bThxsb6UiLM4TB6B06HddEH+6op3d2N9H+WufBy6MPqD6pkd7a2U71/U6QV9HRttjb7DkMsoWnbXyv7uJrI2I82DoetLUZrncZ+Wh1M0BL9Zg1BRJ1nlIYDx5Kj5abAKPcoekwzmuW+0zG2ACzmk3MAWD3ORj5GutTAG11gNWEp2KQqYG2GpDONmPwXvGeNfEI1sXqujlbDMC/5qHrzmuiY3U6Hxd84Wlr5GFUcTpBW0+yjbq8ifXZsGFO3x4zfsXOnm2nwMAQBv7VXm/fJANoG3VQOzMWPyTHXQuUcKcoq3UDkCfgwoRyAW9VHiqAawi/7JHnPy0mxzoFYFb5eluGp+9Exxj1xLwE3EVoaTt7OT0Howp/0kHbE5lZDFwCOGXgLCuMAM6a6pMfQOuz11F2azP3w1sWdAh1LPQBaYdoXrzmfQzgC3xPpmYwMAeAWIA6oZccgE505XLNUxDeyKpHcloM8wGAhLNjHfkBdDT9KPOCDpARvmsjg3zgJwAXgFZcYYkpPLd9hXmsJ3QAmISxAG3jc6JpX4WDgS3Rh/Pcg+TAlZRGAI2lD/wwDpd4BKNPgEcBMLclJzIoCznQXcIvCx8BbRvOttE+hwbUSp/KD2XMSQX3VDq0Yz7iuYo+AW2T62t0vdEOWugtwKbwwZxQhhzwgndq7MIP9LHwoBbgLmXzEgo9sNsNtBXd8NmA8s6EBF4X8BS7iCzJZYzUORfvVoeD54CzaWFP3B8Sshu2hJ7wOC3KztTlCB9Zf6kjfLGUJYeeAI4xbwFoAToaxwq9WQ79EYYafSjL3IWfcX6wuXihQjbWS8YIf3UMyrgErAeNmgQQFY9mAU2FF3LIQY55CQALe4pc8McLBFgjsbOMB716T6Ed9JAj/8cAyc/VaDzEdsIf4ZJxz4i3rqq7t/uGJ3qVt7Hsi716Jvdao/5S92QDY7+MM+bXUq5P2NMWY6sjDlD62nl6WG6A9LMttWbF8ed/T4PrRZLZpqNfH78F/BbwW2CmLWDcF6Zat9P/Tdlr7eao9oktjblKM53lxH9eRnXb42xFjPQN8e/szmjtGBRb4gl09l29w/x68rVjYKyG3CxrZbqH5+Y2AGg1v7nU/mrsJT0tPkHDXa6jdqz0B2g70ttl1T0n2luDsyn6LzyHxj29KpzSf7t+TsxpppTsG77Lz4eGRh7birzZ1qaBtqftQ25fya7jz4G+nru2/Cba2XozfUKg7fG6fRRe8wWNjdljX4sLM+nfY8MmKt6WTvYBIZpqXfiY5b7Ya/2grWLZaf+Rf7ubtuyspbcCWym99TY9GJY3+F/Q84e3qb60leZvrKUPI7qp1/6eVbRWii/vUn7bJEIkt3XQtZcKH8uiEWw1BxUth0uHAaTTPC/FY1OINLDxV0roXnfAU+iMuTZOBXvdKaxBTHvPUFU/J8is6OYuw+kVbOKF6z4Hoy7Gurl9jXoa6+IRrQPQNgAzjzWZh7ueztkZwVY0Yy1X5FJ77mpS1wpd4/Wy4GO8H8w8unmoZh83OePGOmX4ODOCnkbvVmMd4o0gLEIgfzX/W7czblU1jfTomwjfidB4kq3q8aaWZ8OGOe17jHPxANguXLjGFLT1dn0B2joORfKXuOx3tnGuArexSzXP2NzcYor/zWodhIzf4QQS1TNvBXQ95AxRLLkRAEW7M0yyABKc2wGcRh7GuoCnqj5Gmpmqiy6QJwCumWynripoK0AM2wNAaX6AJWiLccFli9lDVbUjznaV+qH8LS4gMzpCb0d/RL52Tq0uS9ERYFBUxTIGa6MqF3JZB/sAIqckMvDUdKFKo4OeGA+d0Z+7SAffRBcArTqomuI6E1lAKqFzZAfT8QLtDFBuc9JCH9YpJZHBPZ3eqTfA4qjazwh2UfswF9QBjooXMsA6HVRzAtIC2oJWBYVVXlIGICZ8pU1ytAOcEy9etAtoq64N2o1As/BAO8qQA6AtOiJcP6sZoPPH6XF66F3hszhZe1ikysXnAfQBP09zspqP6KTme1NT2GsabZCHC6AieMCOKq2qD9oBouKMa5VGAEyetxMoxtwFjFRprcq4P2UOoo9+zyr3towHwAk6gK1ogzyxl9CoXubghUtCHoPmRu9tnjfGYZ1EHvSQOQkvNQeQqgKwuBeNdkIddDIO/KCj1CUXmVKXXMZCX4yDDNCKXjzZ1/DHF3v1TO21M2Gea2negbbXGqsYEE1fN58yNnw7Eyp6LePxjSusY//9216P9Q/wW8BvAb8F/BaYugX8e+3UbegNBwBTLQftz2OUcMZtR7VoMt7wN6N90HaVf7f3nrZ/eete00Wmu12rfc814+VvmxkLjI08Yw/a51dbPQpk0Pa6/dp6ZPKaCRp3J1HCLxd71KJuWyzhxQd/clng0WDPhEDR22c6me5ckz1oe7OijT8HHrT75uWNhmtxHL7ZpbF56VDNIdZv+EWfOYGzdX1ZPv3TySO2NLOx0xd7rR+0VVZ2Rn7kj/XRlYbztCu4nt5Sz7XdWE/LT56n0zftb1ZFXdPicG8zHbTwpsXD9/FXJSX3TjQGswloawmwudRj8O7XLs9JI5hnChAK6KeMs6JzSUJJA/YmA9oK2OkW8phBwbfdAEnWQ9HLXb7UzIBdI+hoBGmN9cmBtkb7ik3cwE6nmkxrAtqO50E0Lqwx83DO6dfjPYtNeWCMEfw1AV55rIGnqd1NxsoK+DL3BWgLfYJDQumr+d8xoIs6ANfOCxdYVTPwVcZs2rpN95gED3ilI+Sx8EA/dJRkBgDbyZZxb3I+GzbMGdljnIv45MlTioiI0+8bWVtv3yTDnhF1RANtS384ooO2hZ/vpUtp1ZS97AhV1TXSpas9VLU2QutfEEBFK0zOpIWnLoBb8cgVENcImADIBK1DC48rIIMpkCtjAfQa6aVPza1kqjTelM1AVwGjJbfjpwK4Brr41ZpnsBG0PXvuPIMrUcVbKKpkgy1oG1n1LQGYZRs6PXIF8AOACt56PTvYHfBRPXgFdHXqCNCJAdLsYA0IrVimA2IMimIs+EPHqm85hw48F4C8tZ/pXrEInwyQF/2sS0qiC1gFH/QrttH5O9tSSyM1e0AO+OYHUFT5Ml2mPjYtRtPVANpKP7w4EaIZdQBZTe3NToBZ895VQVuUxdtVxqs51kgAQoDFap8piOZwMFiJsNegBW+Mgz0gC0As2v8z/Ah7Iwu4DRmx2e4hhzHmb8KcYcadNgIPXH39A7oukAVvWIB/GGMEjFWdUZb5yLxFByMd6gCABQBX+zH395SXBtQ+tXz7rnYer7SJByrmIG3QR3SSNk+5avv65ladl904GQMgubTqjA682o0x9j149NgNdIXeuEeMdFJHvwrSyvylX3LRDXWjzYTGKlfHqjT4LEddTd7uG57oVd7Gsi/26pnca436S92TDYz9Ms6YX8vwDrR98WyI4ha8x6Boe26Skd2sqeduXzprdPEr4reA3wJ+C8wGCxj3hanW7eb0puy1dnNU+2BLudAutpVcpfV1eXR4hH/Xdpwo9Mg6/n8sJgBZvki3qjtY7v3WK7bsHnf3Mt21omZbOn/n9FtgbOgpg7Yjty96FAbQ9vnlub1mNRtOUuq/rfU4V7zwMBGPXI+M3iCCO33n+bmGpyldK2xiuvYO+5dB7jVf4s+B2zXnPbGcUH/NlXBKal7kkXZXRQjrB89hu7SrupT+MnQ/jY5NJEKsHSfX579QGfcBb+vCxyz3xV7rB20Vy86GH/mKOpMsjlFvT/0EgdtKiuwZdyKrjVwz0NbpUek8o1P37jRwERBOC4GseK06QVFTkNXZJzw10O5tw7mgTl5OWmOIZRnrUscEGHV16qCvysedhxOMVc4kVWnd5+ECNIXGnZdRF2N9EqAtA6LjAVQNKH2bNPnj9WL93DyD1Xk6AXcj2Oq0m7a2LlBezDkV0JZ5GNfUTT+nFKZR7icR7uPcV6At1BLQVe6Jk45oHVhTz54FHZIAsEIPGvR5C9p6ks3C3uA/s2HDnMk9xgq09XaJAdpGHDpBwT8eokt59fxlDoBq/qd7aGhomOoST9GtO/e53HggjVL+dQ05freGUEYe//v1LmACQCzCA+NM2LeWk+Orn5gmLiBCA1ydnrTsvfuL+RT7vRJ6GR573+zTeIXFUuK+SJ1vdLBDA4P/ZQU5AJTanXcL+fBgnQigKkChCgZL2GYn+Hu54TylZOfrujBfoTGcoasCI25lE13ikjOoMDqb+TLQCTDSqU/j2XbKLyln0BSAqB4eWbxYnXTseer0LI3LP6YDoYcTnSBoVhi3RRRvZpAzsXwvA6RRhTu1vNh1BjB4FVS6n13LYGzZag0IrVhGZfWFhLEMJAPkBXha85XeD/2jhB56VS7U5pR7UCtnRFJ45jF9HOgTC05Scukxfe7MAx6+4O/0gE2rOkhZZamaHOd82aMWdLKGAB1rtDA9DPoq7SqNgKYIswzgF7Zl+pRE2pq2l4FIgKn/EX6Ez779+uRxF+it8Kyoqddlm4GhDE4r9LiHAMwK0Il+XAApoZOAlehHXfQ8nps7Tj7GgU4Fi6EDdP5DdBj9OvQAg8L/cGw/4YJcnOOLdtUWAGe3x8bqfAQ4Bq9/CztkC/JCX5mLyhNltR26woZCg3pxYxOF1FXRmYaWccC4zBv0qTn5lFVQrI8VHhPNMd6KNj5N+9+z6ve2PT4ty02Wse4tv8yCU278MD6/pEJvU+8/b3mLXbzdK3xF74u9eib3Wl/N24rPjaybXoVHBp/iwB8ZtB18dN+K7Wtvv9PV/tp18Cvgt4DfAn4L/Fwt4N9rZ27lh+494d/PF5M9HwmQ+q9rCECWL1JPfiPLfXrFeQyfBdPBO4+Y7lJqlQWFv3mmLPCy7wGDtqOPbnkU+bQ4goa7aj3SzWaC8kVHCZHcPCW88IDnT6PPnnsi/dn0X3+kgbGeJnwx5TQ/I2m9mGFL+uTSLbbxtYJGW7qJdpZ3H6aM1jUeydeeOs76PRy8aksb1lzLzxAePxuypZttnb7Ya/2grbKqb86P/DF6creTIlvNPGudba31VHR3bt3wylJNf9EJGLqDsL4WawLS+lqEL/lZgLYT84D2pSJ+Xn4LeG+B2bBhzuQeYwXaevvmGEBbXPExGfTowg0qWxjMX+haj2TxItztdf0QRFun4xTBC3eg9yHdqe+iGyUtGpAAYBKgLcIe/24NgZbrv5hPRbtjNO9bgK6OJMpYf4z7qte5gFl4hRV8vZ9iw+IoNiiKPXwBRiREOukB+IL/3y1g/uiLTUzTQQzU4+PTKGnjMU0W6AQ0U0FZtBlDKC8PpNSYdI0ectC/IIDb5E6U80MxP7wxyuDt79a4ZCSlUdIJd8/hlCjtXFL2PjbokJ1VQLUVtdp4pzdrfo3rHNO0mr06IBpfs5rpBKRF+GB4p0odAGZK7WYNTEV72Wr2Fowp3sU0cdWr+Mty5fko9n5lb1WAlQJ6wmO29jNqu1qq6wPbMTDqBGWjK1fQmUvxWhvCFBdvoZjTK7U6gFSAzuDj9IblsWiDPiUbNDoBdMVjFkBrcxgVdxwihKEFiJpRGa7NG+f8Oj1m85oOUWalwyVL+EF/pwcvvCSrL4fpcgTw1e8B9gLeSatiwgn2E/1YN/DJCqPg4jX8YwHAogCnACAFUJUzecET5wIjB/CpgpRoA5gKgFQFVeFZCTAUtPBgBYiKHLxBC3mHc7K5HzQCsGIM9FFDG4uXq9r228hg5vGb44eZh9CI/gKyihct9AQwi35ckAFZ6P/LEA28VgFU0KsX+jBO5gh5GIu62g7QGHUBhGHDvI42+kNiJB0/U8k2EJ2Qg94YBlhkqPLVspVHqUpjLEvoYGO7r+vQTQ2xPFH+qn4IbayGk5ZzaSfCVx1nlC2fbci93Tc80au8jWVf7NUzudca9Ze6JxsY+2WcL/LzRRlUGrTFF6z8PPwW8FvAbwG/BWbIAsZ9Yap1O7XflL3Wbo5qH2wpF9qNtlVpfV1+enniYEj2/7eVAGT5InUnVfJv42cPntqyezE4zHTnI4ts6fyd028BgLXwoIXHrafUXx5Dzzo8vwjgic/r7C/6835+buRJB7zwgOc8Q3efeCL92fRfflDFzys8TbgjopDpWnpSbElhW9h4Ii+X2DJydhZ37qG8c55/i3yXG8H63X5q7+Gb0dXBzwxu9E39HjB+/k+1bmcPX+y1ftBWsfBs+JGvqDP14ssR6r1zkfK7GimyvYoOttdTfFcH/f/svYl7XMd1p/2/zPdMxpOZyTh27DhSHDtxxknGieMsduLY40iyLFumJWuXZcmSZe0LZZGiKFEixX3f931fwQ0gQHAnwX2nCIILwE31PW81fo3qwu27NC7BbrDqeRq1nXPq1LkNFG6/XXVXnjhr2lM9w7bnLtSyhcIO0lu5izN653K1xixy52wv7XSt1pgEv2onAtWwYPbmGlMO2ma9YoK2q44Xvv22b9paC2OBsn4CxF5tu2yArUrULQx442P7T/nIrzxkpj3wdgm0xSY6FtJ+51mz+OVR9p9G7M2fvcg+txIQgRxAd9F7E83GwTOsXeDmkfXNhV27n7u/AEw7gSzP2QVKCLjOHT7NzH1+aAHqAngBpfe+XIDE7m5XAeAXBxu76/f7L5gFn0w3UybNLEBndtl+51nDc0+VeP4kvgCNN746vgCP8UO7ev/2KevH+AnTzNjJBaDXNLJzlyD23vjYLJ+/orATufMo2uLzKYf/3v4zO2HTQ3bOQKvJGztBp4Do1NFm9LoHrRzAccqqd+zuVcHHsRt/UoC4AM3VD5gtTVvNvMY3bNuMrc9bvTF1PynuhBW45NrZo4bX/9As31HYEWlhLlC3c2xydOuPdIJc2gG3Tj9lu3vVa5u0+nUzau3Pusla+ZlDzOKGj82UrY+YExcKz2NZs3e4lR277pdmwtrnbDzwf+yGwpHLJWMCW+e9aUbOGGKP0S32dUJYdusur1tWgMkcp7z+h2bY6p8U52vl195rRq75qQXEn6y9x94sAFSBkoKXAM9vDnvf/OH7b5g/GfKOlaEfAAl4BUq6AE1ttAt8Tl+81OrTBpjEJn28aOPVf24XtKX+yvjxth1/0BHcFIAF7AJDB06dZuW++GH/oj0XyMpXbD42YYzZ1LzDQlqNS85uWOb7i4ljiv7QzjNlNTeNT85Y9AN7iQ3+AW6pq52jninz+vaYj+3vKuWJWzfZtj8f8b65Z8wnxR290uX9z++eICPtvFTHJ/dZtzpCWf7hr3yWjnK187unL2K4YNOFpehQd/tlJ22Ob/IvSgf7UdDZBbXEY23DNjt/bPEMXpL8j7KrNn8+aie/XSmPtTqvtVbPh+cZ8ZTLJR5FwKtaUuuJI6ZlY21/kFctsQx+hAiECIQI9MUIVNNa2xfj687p9NZ99r42zbGjC374pgFk5ZG2D51vx73RcS3RHEfP1g+I34mXaCQI9DgC1062WGhrblxPtNW2aoK53LAkUa6aBWb/0+/shoAkH9n9CVBkN2hIhQjsOLHQjK67LzEcW9+dbkas/KHhGbNxiV3MxDjNMe5xdtQ3p+l5s2jnG6qWzf9lSuGznUPn4nf4rj96yH4+0Hw6/hjlsgPdpo481toAbZ2Ll9dNvmMyFGs8AgVwqyOZux8BXNn0nOOJo478rczordPqPHKZ43mLO4+do4uLbbfOg2A5RKDHEaiGBbO31hg+POZDZr3cD5uzfpPMh7ZA2HKJXbYkduS6CQAw7r3RRVB7YG1Tscw/h+zI1c5c6sDaqIQMO33xAZmxY6YYYCntwGB0Ab/jv/SQ4chkAAbgYtXSNRbQrvlwhoW94//8USvLjt+RX3+sAIA5qnniVDNq9CQz94F3igDZAtjP3W+2DJpptmzZZoHz3A8m2VxwBF8vXrps5i9ebqExvuELO46BsewMpj5z6lyzas0Gu1OQsZi3BT7PDDSTB4y2dfyZNWKaBS9FaPvkU2b6/KcsVFxWP8GONbP+hRLQOX79oyX14q5XD5IKXE7c9HCJvNqLeeeuVxe0zmp81hw4sb2gx05Xz/bSXe90a3Nl/J239AFkXRm3zNia597ThaN9XHlg7Zy1Y82kzb8sa0P2gLMq253Fi14wgN8pG581xFR9ZfNOCP3d8c8X4aqAI89oVVk5AJeX6uM2rbfX+tnJhZ2mav/qxwPM2IWLzIjly4qy9P3ZhwX4KznyH0weVSLzr2MKQFjjPzlzioXEAFLpATMfmNilB8hVn5vL1z8dOsBCU9eGK/f5j39for/1wAFz+Ogxu4MWWMz7WjAZPXdH791Dfm++N2KI1Y/y4+mZU2zff04bWzIGdthNKxg9YXu9uXrtWhGWMkfGYWxeAF3+LlDm94u/AeTAcqAsQNeFle5OXXSBoPw+awwXANOHXcFd/gYg68rQ70Jk6vwtIk6U3RftGot23gdAc8rAWnQ0F2RpZ2z8UB39wauX2T7mqoRv7lgq46v8XbR5c4mMADHxclPWdSNJ3rXtl/NYq/NYa9vb28377w8zLS2HDF+C6t9/sM19f+fNW2zlxo2bUtKVFAO/v0Q5h8qNa8kf0uYwTDARIhAiECIQIpBTBPx1oaf1OLeqZa2N8zHPPmKpF3b92OY5lm/r6MpGex94prHF7+pWX/rge2b2P/+uW3slDVvfSf8c0PFfftjUvTSukmGCTo4RuHp0dwHaprB5cf00c2nz3BSS1Ssy9a9/ZT9zSfJQz2fmuashFSKw7egMM3Fzv8RwbPjdWDNy4Y8Mz5hNSnx5g+cH55GmNzxpOCI5Kf31mMJGAD7riUv7z5+znw8Ab3ua/L//Pa3H+ZPHWhugrRPhPG7yHXOhGCIQIhAiECJQJRGohgWzFteY17cus8cjr+7caRt3OcsBXeBj3ZSlRVALrATwAkQBnO6uXUAn/eWSxkBmyYrVxV1lwFx0OY4Zm9PfHGEYV4ldsAea99ndusjpmGfpAFUtEBk9zfrFOEAbxqEPm0AQjoNe9vH0yBsMxsMuc0OHfPHcpRbWApPZNYxN0vgPxtp5A4nYxbtm4ariWNRJgJmZ42ZaIL1mxFALFgGn5y4dTIaMHlAtCyOT5Dw4qx2vxWfVJulH9I/b+EA6/xe8XIS2Uf7Pb37ZLGh6M5WtNdvml8jN3vbbYt0FwVHjuG0vLX6xG1B0oWa58rt1q83fjPnI/N24AmgtJ5el/X9/VApg/2hIf/PXQ7t2r2JLoDOL3X+eODz1HDccPWR/L34+YqiF1OyeBR5rvHLwV/1RucCwO78HxxV2NyP/FyMH298PQUmOjWaeJH6HXQg6pmGzbQdSIgMgR4/fVaAn7QK+wFE/IcsuVkFe+gGayPL7STrS1mrLjA30xB+gLXICpYwn4EsbY2OT8ZVoX7RrhyGmlN0+bKGPr+jyd0TQFv1+c6YU536ho10mi+MLMqtDO5U5iho7iiXQl3Hdv53S6a08j7U6j7UWWAu0Bd6S+DKU+wUo2iSzc+ce40PbrPG6du26Ca8Qg/AeCO+B8B64s94DWdeKvOSrZa3Naz7VbOfA7A32vvDCwVOJbq5+apiZ9n+eSZRLI7DhxTFm4t2PpRE1wLPVTw1NJRuEbl0Erh5sSg1tL22cYy6ur+3d0XxZgM+DktKZbQfs79CRFV1fTk3S6ev9mw6OM9Pqn0yc5uonPzaj59xrlu9JBqgTvvKI4e9GHgmgvHZfMij+008G2s9kdpxYEDvspWtX7ecLi1tqC9znsdYGaOu8NfK4yXfMhWKIQIhAiECIQJVEoBoWzGpYY7J+k+zNLYsttF11tDxITXOJAbPagUoZGOrvyMUOEDWq3R8DG+xCK5fYVeuCBwAJiXEZA33Aqltmh2vj/HUW7MouviDD0cxK6z+YYYGs6soBH0BjgV5yfLDApm6X2bVjj0TNrHcLR9QIIAFkpMfRz0r4yc5hbmgED8dtSgk9I4CpbKTNx6/qgpvo1LWMLvqR1oYvB2z126LqPCc3qt1tSxuLlQ0zSmyl1XPHojxmy+tFIBkFHP22//lhYderQKTfn3f9f37wVmr/vjpycGrZcn7y7NnmMydL7ACPkf9jZ8dvOf249gfmdsHfvxle6itgkwTcfGnBbPMPowvQ1t0h+uSYkeb70wq/Z9M3rDd/9/F7Fqiix+8k4JJXv6njLbjU75yf91+/wsoDPklATgFb6ov277bt9D8zfZKZsrPRAOn53RZYZTzqQ+fNK8JY/n7RDvQloY8e9kbPnGM2HDtkBGCx87vViy0Yp0xClzIygGy1EzclbE5avdpCXncXrgDyy8sW2J3IyBPLWQ1bzFtrlhW/XCI7WdeNJHnZjcrzWKvzWGsBsi6IZUetC23d3be+LPNKioHf397eYcIrxCC8B8J7ILwH7qz3gLsO+utCT+uubb9cLWut79etqiuWfn6rxnPt7hq33N5ztp9rc5sjy3UvjzMT/vSXkX1ZG1c9/pGZ/nfPpVLjmNqlP0uGOqmMBaGKI9Cxb0tqaHu5fpG5uGZSxWNVgyI7O/l8KCldaDlpf4f2z9qQJHrH9K87MMxwBHFSWvrTgWbMtPsNz5hNStO++YxZ9UQyaE2yc/Oz6/bo5qQjma/dvGH+8MO37Gc0DUeSv4DA5wbTdjUlDZ/Yr3VAgj2ty05UnsdaG6CtE9k8bvIdc6EYIhAiECIQIlAlEaiGBbMW15i3tywoQNsjPf8HSc+u5S0BjIxK5dqjZF1w4vcDQAEySgAOJX2jUzt9aQeM4h/jJ0FjbPMqlwR6yQVm2LkLtFHasLgLArNrj92BJOz6MQAa85q1rfQ5tj5Qt6/oJgAAIABJREFUjKprF2nq3a0JoDcOdmqsOD/oK3n2rTde1BxX7xtisvpfzpeoI5xdiMyzf/WMX3cey3e9b5Cb2vB8CaCMg470Zdm1mmSrJ/13Dx9U9PsPB79pywDNOP++MmxAUSdu7J/Om9pNjl2yPmgFYL+zcon51oRhZtXund10aHfH+aRhY0nd7XtiyRz7+wKoBDwCxUn8vgFBAZnIA5VJHB/Mrt/X5s6ydf42NB09Ythp+r0po+yxxLbD+QGMlh1222rnK39L9LcHeAxoJZ+4YZ351Zxptk4b8JbE7lv9/QG8jl27ughjlzc0WF3kkEGP12/nzLD+C0678WK3sJuQYa7MnTKxIMd34jNkxVIrrl3+VNiBzK5drv+7a5bZMbHx3ckjS8Z1x+mtch5rdR5rrXbRlttpC8DVIwiUV9NzbXvreoVxQgRCBEIEQgRqLwLVstbWXuSye9w4ZK4FTp/d/CxRuX7ADAPIyiMteWCAmfu9V1KZ4jm683+Q/PzJVMaCUMURaN+13rQuSrfj+UrTCtO2Ip9dkRU73APFa5fa7e9F84jS+5ook+1n26wsX4AIqRCBFXsGpQKx83/wuhk/+UEzp+mFxNDN+ZeXDJC3p6n9elsniI0/avnclcv2vnPE+nvMpoRn7uIT96ojGwsbMXrqY2/p57HWBmjrXK08bvIdc6EYIhAiECIQIlAlEaiGBbMa1pis3yR7Z/PcArQ9uLVKrmR6N1xIISiKtnbN8s1OfbsTKBoHYt1R08qhA9wRsHFtJIFhV1bQljYXJPrl5uOlRwDTz1HKAE9g5bi1T8bqIx8FRwGgeqasP+bkTU9YmwBNduFGQddD5zabix1nirbLQVtsMI4g6qj1P7a2OZJZbf745eqA3qi+4vHODizGN8mix0tjMy46JMq8AIbcNOj1351n1wJCadfRvgBFybnt7Ay965PSo4xdObcMvOzprlj5hd2nJo+3PgEQAYT/Pj76OGT5Xm5s9F272JYs7a+tXGx3h2qeT86fYY5/+mnxre3qClb+66SRxdhpB+9fDB1YEkPG0RHJ7B59c03hecBAygPnztox2a2qGAJxNRegKokvUDAm1wnIiby7sxUZ5icgip5+jwG++tuCDeYBoMUP5KjzYscrc5i0bJmZv72xZEey/L9/1iTrB3L8jUIPm/KXa0/Cvubz/pKuDzeYM/L0MU/NGz3a8Vm7kK0hY6wfwOy/HPKuId7yV/bJmbebsq4bSfKubb+cx1qdx1qb9pm2+J/HTls/DqEeIhAiECIQInBnRSBp7czaHxe9allr43zMs4/Y6YVdxVJ5nmP5tja/NcWM+fyDfnNkvXn4IgunAFo9TfO+/5pZ/OPClxqTbC3/xftm1reToU6SndDfswhc2b7SXFg2KpWRKzvXmtbFfDk1+csAqQz2stClE+fse33v1DWJI/OFB05Ia/ywtp/hmzjRDAKLd76Z6pmxM//hBTN50iOGZ8wmpUX39Dfz/yN5R26Snbb2k/azld2nlsWKHmz91N7DjtjwQKpn7nKPOmhT18aHWOMxnf7f/Z7WY4Yyeay1Ado6Ec7jJt8xF4ohAiECIQIhAlUSgWpYMGtxjXl38ywLbVce6DvH0Qi6kqsMvNXzcpPesmnlsAPc0a68JLvl+l1oCzQUWAV+Ugc4AlZJPhClDegIDF1Vt9ZCVXSQjwKsUTtR0SUJbNp8xSNm24GlRqCYMa5ev1z0Bx+xzziAY5JklcsekBRZchLjUd9+ZLEdE7vusczYlG653I+D5HxoSyxIskk/uou2vW/HwBfaSMSGZwoL5AHI2Mn4wOhP7A0HcBJQxq5WHe0LuPzTj98tAjfgG/rsrp64dVOxHdiJDtBP8Ayg+LfjPraQTdBOMA4ZdP50aNduWOCbdDW+6gBI5N9ZssD6TDu28IUXfYKwAETqjOkDPXbDakcskJAXMpqjfCBHn352sjKe+8UJ4inASJ/8AIjzYnwSOX0+KEeHtHHP7iK0ZD68AJLu/PFDdQA1Cb+woRfjUOb6MX+gquqSYSySfp+RQx7oq9g9PG+a1WX+tKP7FecayRa5digzN/zDJ3xHF7uSxX/Zog04TGJ8YqO5SZ6cNnQWbqs33xgx2O66BfACpmX7m58MsuMxpqtLGbu3K+WxVue11rq7aXU0Msck9+8/uPisW+IUBW1vV/zCuCECIQIhAiECIQJJEaimtTbJ11rvX//8KDPpq4+nmsbeKastnAJo9TTN+NbzZuWjH6Yys/bXw82Urz+VSjYI3boIXG5YbNpWTUg1QMfezfYo5c+udaSSrzahT3cfte/1Q4vTbQzgiw+b35pcbdO4bf7M2/5iKtA5+etPmumTnjYTt/RL9HXFw4PNzL9PPnI5ydDZSy32c5Qj5xtiRZtOn7D3oGM2/tKsSPHM3T8Y/IZ5fV1t7bbOY60N0NZ5G+V1k++YDMUQgRCBEIEQgSqIQDUsmNWwxmT9Jtl7Wwo7bVfuX10FVzFfFwC22vHKs2hvVRLkqdS+C22Bl7wAi+wQFWQVfAQwqg3wqYQsoFBgFX0BX8AkL9oENQWGgZ3okijL9sQFIyyEk7zAJjaQw0cgLHU34ZN03PEpS5Z+6viqOeCDYC/9GkcwFjnK6iOnDTvMZf/pDVYHO9SBtLzoJ5FLXzZUl/8aE7gG+CIH2v5i4hh7wwFcA3YJummn5tTGetsvEIk93hO80KEdHey9tnheEaDRhg0SfcgB6kiAU/rd442RFXwTmJNt+cYuUZ7vjK4L5gQgGUfj2YIxVlZ2GAMwCmh00z91gj/s4oP8RkZ+ufIqYxd5gKJ2jeIL/pLkpwCv5NF5cskcCzA1JpBSsNUFkfiq+nfGDbN2ZU/xUk7c3D4XiD6/bL6N/zvrC8+UJX7yRz4ol700OTr4R1yRp655ROkjSxLsjZIV5P3PzuuBjt4Tshn3/GNk3ZR13UiSd2375TzW6lpca/04hHqIQIhAiECIwJ0VgaS1M2t/XPT6ylobN0e3j9jpRbsfS1c27zLgdMa3fpPK7KFFWyzIAmj1NE3+iycMwDhN2vTaRDPui79IIxpkbmEELm2eay6uiz9SVsN3HGyy0PbmleRnJUunmvJTm/fY9/qJDTtTucUXH9b9ZmQq2TtBaMa2X5mkZ8YSh7Ff6GfmTHnBjKm7z/Cs2bi09tkRZvLXnogTSdV34kKz/Vzl3OX4LwGvO3rQ3vtO3vpMqqOevzj0XfPs8vmpfIgT8v/+97QeN1Yea22Atk6Eq+Em33EnFEMEQgRCBEIEcopANSyYtbjGfNC0yu60XbG38FzEnC5HVZjRLluc8Z8jm6eDOkq1UpsutN1/dG1x5yf2BBIFH+1cOs6UAEmNK3gMUAVeSlf9yoGtgEsALbkS0FTgdO7yArSj34Wb9ANL9zStMByLDAx2E36iQ67xVUeeRB0fSWqjLJ9dgMvYvJB3Y4C8du4qtwY7d/IKUksHGeywKxj7JNWlJ39VJweEP79wtr3hoA54BLptOtr1JQDgnmCcdN33BIBMkGzz/lXW5rC6tRaqCtKih10lysDQxxbNMjwrFvtAP0FExqTf1UGX9wBH5tKOr25y69odTT+ygEwSfgJ2XeBLu+CxIKcVdn7oebBOky0i/71JhV2zNPjQGDApvwQpBR3J8Qf/3Da/7ENNYio/fVlixjh+u1///vRC/P32ntR9P+NsCYTHyfSk797Zk8zWk8f8y9Ur9TzW6lpca3sluGGQEIEQgRCBEIEQAWNyObIxrLXp3kocUTzv37v+143TOr5+hwVZpzbvjRNL1Tf28z83HM2cJjUMmmXHTfPc3TT2gkxlEQDYXtpU+sXYcpaundhvoe2NtrPlRKq6/ciyBvueO7cjHuxpEjP+73NmxSPpdo5Lpy/nk7Y8bBqOxAN+HSu9aPob9nON9msXYkOy6fWJZuwfJ+/IjTVijDl4bqMdr+N6/BcKFuzbZe+5525/xcxuTN7h+/XRH5qHF85IGr6q+vO4rw3Q1rmk4R8PJxihGCIQIhAi0IciUA0LZjWsMVm/SfbR9rUW2i7fOa8PvRtqayrL+g0ys7/zonX6QF3XMdWAZoFEwcc0MxOQA4hqJ6urd3LHHrvLFdtuAmaiO2/97+xuTbdPZQHXjUPGWRvU3QRcZQctcJc+wCg50FR+0e+P7dqgjAx6+M+O2aiksWXXl8EHjSMY7cqwI9dNirXbpjJjCfYCEl1YDYgEoAFV3cQcSMhrZ+nyHR9ZsCpQ6cq7+kBH9Hj1mzPF2j97+VwRRsouANJNPMsVaOvacvtVdmG5C359WCt5ZADG9OOTn9jhq6Q4UcePJxaWvwF3bRFHdxcsMRWYFqDU0c2qR+XlgG2ULG2Cwu7R0OVkaRc4j5NJ06dx08jmIYPf8v3/e/918yfDBph7Z02yly3rupEkr/dCVJ7HWl2La21ULEJbiECIQIhAiMCdE4GktTNrf1zkamGtjXpEgT8nZAqPLIg/IpbY6YUNP5a+3Tzrc7/3ilnywLupTJ7dftCCrCPLt6WSLyckWNM4JN0zQHeMXGLH7Wi9VM5kaO+FCHA08uX6RalGuv7piQK0/fREKvlqE9o/c519z108UviydJJ/8/7tVbPovneSxO6Q/s/M2Lr7zc6ThRO5yk264/xFG+OVcwqPfbrQHv9e2TZ4tpXv6Zc39p5aaT/jKeeX2ifv2GY/w1i+Z6CZVp+8w5eTo+6bXbg3lY1Kcv/vf0/rcT7ksdYGaOtEuBpu8h13QjFEIEQgRCBEIKcIVMOCWYtrzNAdGyy0XdZcW99qy+ltUxVmeN7uyM/db32hrEQZkAjwFKBUX9rc34WKno6KLmdzzYih5vDR6F14ADmA5ZpfFY5wFZiUP4KkgFRkqSuXDLk7Ns8QdndFS452dgNnAdbS1Rjyh/EAyHzTnMSx2b5dZJEh+fNCXz6vPthQ3OVrbV06WNxBapU7f0ge0CkYypjuLlxX3t11C8xEB9hLGWgHeKYNkElSn2uD8rb9BV2/3a0rLrTJN7c/S5nrq13e6GnelAGxM5sKz6+NsqkdvupDV/NlzoBUd4cqclHglucDx4FN+qP0bFzPnLQxBaQDmWkT3IyymdcuWOKOfSAzZXcHMP4mzSnKN7X5QBhbXIv750w2/6Nz5/bnPnjT/MWowWbWnmaFv1fyPNbqWlxreyW4YZAQgRCBEIEQgRCBGthp297ebt5/f5h9Zvz5860WzJK7SVA3DbR19Xq7PP1vnzWrHv8o1bBth07be779M9enki8n1H6uzdrZNS7d8x/3TV9r5dsOny5nMrT3QgQuLBtlrjStSDUSxyK3Lhhirp9Ot1M1ldFeFNo5eql9z129UPgSc9LQS37yrpn73cJjjZJk+3o/n0PwmcShc5tip6q/JxsXjLPyZy4eiJXXNen49GKsXFJn1Jfho3R0X712/8dmwubkHb6cdPXdqaOjTFVtWx73tQHaOpc33OQ7wQjFEIEQgRCBPhSBalgwq2GNyfpNsuG7Nheg7fZ0xyv1obdM1UzFhbbacYtzgrZAMSVAppLgq+pROf9Ukza+Ot6+KLtgOEoH2QNrm6K6bBv+uH5KEH/cHahqJ9++u2snt4W0zg7dfdPWRkJbQO66+uHd4Kprl3K5o6/3LF1R3Gl78fwZezMjOI5tgLCbXGiruFn7HWfsMc5qazyxycxqfLaoCmiM2u2rdheKCgoXlcsUAJdAXEAisA0bAq3atbts/4riscYyw03e6l2ji0cOq1255gDMd99X6id3oavbXq4sv9SvuAp8+3Bccn6OP9jyd9sKRAJdSezcpc2FsMQkboctNgUyXTngLIkYkwRSJatx3DpjyacsObZlh5yEPteaxPUWqPV3GGscV19tyrkxVkxc8E2/QP/b61eY//r+G3bc//bBm+ZLwwaakY2bu+1IybqO+PJ2QmV+5LFW1+JaWyYcoTlEIEQgRCBE4A6JgL9W9rQeF7ZqX2tbWg5ZaAu8JQ0bNtYAaf0EyKWvvT15py26iqly2evouGpu1WvCXY+Ytc+PSmW/7dQ5C7KaRixKJV/O5zN7jlo7u6evTWVn//xNVv5E/b5U8uXGDe2Vv4/ar1wxrYuGmkvbV6e7BlfaLbS9fGhHOvlb+B6v5LpvGTjDvufar3Sk8n/5Ix+Yad98JpVsJf7Uks65tuP2c4tj53bGxuP41r02xtuWzi1A3jMNsfK7p66y8mf3Ho2VS4rV5pbJdrwkuf7rVth7zg37R5nRdfeay1cuxY57/+xJ5m/GfhwrU25M/a131wG1+etB1rrsROV5rLUB2jqRrYabfMedUAwRCBEIEQgRyCkC1bBg1uIaM3LXlsLxyM2lR+XmdFmCmRQRcKEtUFFgduo3nraw0IWSwEb1a7druSFcOIotnp1LStJDLmrnqzsOfrJb1U1xdjdM6vrWJJCWpLlwPHTUeLStmv6BhbaUGTNKrty4wGcByB0jF5tR8++xNogLOkdO1Bfdp23qe0/YGxAaXRAJiObYZ7Vh04Wv9AuGFg12Pq8XPYCgjiNGz4WlgE3BTbcdAOenBc2v2CZB4LGbHiruktU8yeWn9NVHXX2AVLddsviCz1kS8i60FqTFPi/VXZuas6uHLP7N2THc/NXI57qBUYHOQRsmFmEnQBLQCdwGpgp6KqdN8RLwdKErANdP2HRl0HN3wSKPjAt/qbu7cym7Ov80/mk7jAuFZUf+UZePQFeV3Z29yAJm9c1lxtWLPnR4kRQD+pkPafvpE+a/Di5AW3bafvmTgWb32d7ddZHHWl2La629AOFHiECIQIhAiECIQC9EoNrXWqDtuHFd/4PNm7e4R9A2KaTlPujPo33UH/7EbHxzUirQAMDifmbLwJmp5Mv5d3zLHmunZcnWVHaOrN1u5Q+vbkolX27c0F45tO24eMFC2Eu76lJfA3baXj6wLbV8NV2fDa+ON+O++IvUvq/5zUjDFyCqaQ63y5eT5/fbzxrOXzwVG4/Dq5rs7/W+dXVWfu/J9bHyBxZutvLA3p7Mbf3+kWZM3X2JNl5csdBwv7n54BTr34VLZ2N1Hlkw09w1/L1YmXJ+J60Bt6o/j7U2QFvn6oSbfCcYoRgiECIQItCHIlANC2Y1rDFZvzk2evdWC21HN84zY/fUm5vmsz70rqiNqQjaAhldMEkZmOjujGU3K9ATkCsI60JdzZg29GWPHHna2SV7cuNuC10Br4BQnnWkBOAFcpZL6MiuKyN/1Ca/sO/OAUhL0g7b8V96uBuMZd7MdfHb/S3IE7SVX9SR0Tw15sIfvWXWPPOJPQaZeQgOAmlHjPiR9Rtf8JWduErYG/Gre+wNheCh+gCJgEfBR/qBr+Qk+rW7VDpqRwcYS7+vhwxtAF1kXPCrnZ+uPYFiPQ+X+uHze6wIz/1lrgBkHYlNGdDr7goW+B236YGi/xgQMAbAap7Y0xxdPygzto7tRh495HnRB4xlPsQG3xqOTCuOgT6+bTw4pgiIkccGcUL/3mmPmjfWjC4CSUCknt87vbG/bdeOXAFu4gJIRRZISe4eOU0dkElsAZnAT+1ydedHOwBU0BNbyFHnRaIuSCpoipzGlQ/Yov/J+c9ZPXykLlgM3MWOkvTJgbXqFwBGFl1yjUsf45DQ0XuHdsVIYxDnlYf2mx/NHG/umzXRrD3SYvWyrhtJ8ppPVJ7HWl2La21ULEJbiECIQIhAiMCdE4GktTNrf1zkqn2tvRU7bYmfYujncbHqSd+Njmv23qLp48LJRmlsjf1CP7PpjZ49t/H4uh123NNb96UZ0nzaee92aPHWVPJBKP8I3LzcaqFtx8HuO8rLjQa07TjQ9SXjcnLV2L722RFmytefSu3alv5TDV+ACMmYU2277f1wUiwOLdpi/w6c33PUyu89vTJW5dTmwpc9jq8vfIYRKxzTuWbfx2bill/ESBS6nl4613xp2ACz48QC61/SM3dfWLmweK+daDxGQH//JdLTuuxE5XmstQHaOpGthpt8x51QDBEIEQgRCBHIKQLVsGDW4hozbm+DhbavbV1u8+s3b+Z0RYKZtBEQtBVkBVYKjFIG5iohC4CkHdgJuARkIs9LiTbZE/AEYqpMn2Cp2tCRHuNYYDxoVhGoIgcUdeEy4JU2/MEmPggIy29kBGrxD2CKvOApethWwgZ+0D/r316w4M/1CznGVCzQp4weZfclOcYc+R/32j7KxGL8lx6y0JexbQz+4157QwFsFLhkLMpATsFPgCNgESBJIqefJPipduQAn/T7esgwFvBTwNIacX4A2XhhF1vYIAmO6phj+gCe+CLfKdPOy9WhTBuwGDsk7FDGTyAribHwLyqhzzjMDXlelHnRR6yY07iNDxR9oI/EfJDRC5CMLV5qe2nZS4YdtV/46HcWTgIjBViRA1gCZH0wC8B9dfX0KJdL2tDjBcyUXxJgrL3n9pv7Zg610JR25KQjOXLteKVPMB1Y+l5d4RnhtAN631zxeFGNNqAsibIgK3W3zHzpJ2Fb4JUcOUFl+vDZT/IHGxylTdz9ufo6vVHPY62uxbW2N2IbxggRCBEIEQgRCBEgAtW+1qZ5pi3zSHs88u266lfOtNp7i90Tur4ImuTL5K89YdY9NzJJLLb/4ILCjrnWfcdi5dSpL7nunbpGTSHv5QjcuHDaQttrx/emHrl14UemfXddavlqElzx8GAz69svpHap6aN59nfpRvu11Dp9VfDIp/X2njhpfnunrLYxu3ziUytf7r5ddj7ddcTKH1y4RU0V5ct3DzDT6p9I1P35/Gnmr8Z8aFrOrrf+nb0U/8xdHuPDPX7b1fjj8BMH7kWBPNbaAG2dCxZu8p1ghGKIQIhAiEAfikA1LJjVsMZk/SbZhH3bSqBtx43rfehdURtTATi6oJG6hYifu9/CTgBjw6BZFtYiB2yljTJy7Jwlpx05tcmmax+AqnbpC4iirz4dWUxdwFV2LADtHFtt0pNf1CmTkME2AFXjA55lR7rkfKiAPGPK1tadU60u/fQpNsxbutgSTFab8uI4f/7jorz6sMf8rc3v3GdvKACQgEEgJuASACmYSJtgqHbXAh3p50aJMv3kgFDatXtUerQrURYQRhb7OkoZyCaYiW36kRV8oy5YSln96JA0Pu3Ldv++OA/ZAqrSzi5YFyojT2Le+Aww3nd6lY0F/vnQVWMDBHmp7ufYoh+f/T6/PrH+TfPBhsHF59cCKgU68VU7S62jzg/khm96z7Yojk53sYgt4OrZy+e6gWn68POF5Z8UxwSSssMVHTcJpn6ydW6xGdi65fBsWweYPrN0ovlo3cPFfregHbdum8rYEahWG7nALn2KgwCtK6cyco3Hl9rrJ+ivPuVZ140kedmNyvNYq2txrY2KRWgLEQgRCBEIEbhzIpC0dmbtj4tcLay1PMO2X7+n7EvPs+WY5P79BxugLs+yVT+5ZKLmTez0ot+PZZROHm2t+0/Ye4uWed0fa1LO/sy/f96s+OUH5bpTte+ZXHg25eVT51PJ80Vc7n2aRyxKJR+E8o/A9bNHLbS9/unx1MYvLBlurjSvTi1fTYKL7ulv5v/gjdQu7R6/wr5Hr5xuTa3TVwUPnF1n75WT5tc8fJGN2fXLHVaee/q4dOl44ZnawN6epIU7XjNzGp9PNPH/Zo43/zhpRHHn8PHW7bE6Q7ZusND2+MW2WLmkTv/vf0/rcePlsdYGaOtEuBpu8h13QjFEIEQgRCBEIKcIVMOCWYtrzOR9jSXQ9vL18O3GnN6Sqc0IQgokAisFUtVG7kJVtQMdKQuGUgaOqp9cMpRnOaCT+rJ+73eTpx3QCTiljD/sYnXt0M6Yfhvt7guQWoSmn7u/CFaZi6CsK8+8sekC2eW/G1y0SZ/8cvXYNRsVH2TKtUuffiDyyE5oC0AEDAI0fZgICBV8pS9KxtdRXfCXnAQABbCqn1yQGOAI3BTglC4yjOnCUY4Zdm3gO9CY3G1XGVhLWbbV7o7B+LQzV3e+6JSzi5z0ZNPPy+n6csRl3OZnzZzmT+xuV3bVaqcpshOb5thYKY6AZJXRITFPJfqJt5s4Opg4CqIjwwsoynVgp68S4HpSczRERWZDS5csfhJ/EjtgZ+9cZGNJ3fWBsjuGVXB+uKDaaS4W6Xehr7vLuygEfN8xy15D4sE1ut0pj7W6Ftfa2x33MH6IQIhAiECIwJ0TgbDW9s61Pt2w396jHFsdDyNcb+b/x+tm0b393abM5e3DFthxr7dfTaX72c3PrHz9wJmp5INQ/hG4dvKAhbY3L19Ibbxt5VhzpXFZavlqEpzzLy+ZpQ8Wvkibxq+WuRvte7R1X3qoncZuLcrsOrnUjK67N9H1+gEzikdKI89nAnHp2sUrNsbNnyyME0vsm9P0vAHcJqXvTBphfjhjvGlrP2XvhQ+d2xSrMrZpq4W2u8+djpWrps481toAbZ0rGm7ynWCEYohAiECIQB+KQDUsmNWwxmT9Jtm0A9tLoG3btdo5jqSvvH0FbV2gGgUmBRndXOBTudunchK0lJybY8+1GQVofRlXX2VfJskXAK8Pgl0dILALdDVOLrkDbX2I6NbdHaxue5bymn1DijtwXT2B0yS4KTlXN23Zh7VReoLJ5IK8UXJumw943b6sZcYdXXe/Bao6+hdwq2OiV+6fXYSygGLgK4lcYJIYCWQCYSWjvxvAWWSRIzEmLxLt61q6jllGl5d2+yLjAljkZZ+jlZkvCXmOJqYuG5IjX7i7awyr0AmbiTlQlhdJ85AMObtrAc9K6Aheq4182e7Bdl5cd/zE1skLO12RbjtSsq4jvnyJca+Sx1pdi2utF4ZQDREIEQgRCBG4wyLgr5U9rceFr6+stXFzdPuIpV60+7F1ZfMsH13VZCHImW3xx366Yy796UAz518L/2+67VnKW9+dXoQ1afX4guvGV7oeuZNWL8jlE4GrR3dZaGtu3kht8OLaKebSlug1dLthAAAgAElEQVRH1aQ2cpsEp33zGbP6qWGpR9fv0un6dM9pTm24BgWbjs02Ezb3S/S87uVxZsJXCo81Qn7t/o8TdXhucP2A7vefiYqOAEcjc0RyUvrGmCHmwfnTzI2b1+y9cNIzdxcf2GOh7ebjR5JMx/b7f/97Wo8bLI+1NkBbJ8LVcJPvuBOKIQIhAiECIQI5RaAaFsxaXGNmtDSXQNvzV9tzuiLBTNoIcCQwUJTc7vjs3N1aDkRO+avC81jL9bvtLgh22+PK3NT7/cXdqN5OWl/OrWsubluaMvMrJ+eCZGSifC2nm9j+nfvMqNWF59pmhYyztv3a3oxIz32Wq9r8PAnM+vLl6oBGf/xyskntSXaSgG9cf1yf75egNLnAJb9PgE5kOXJagBVYKRAKnNWx1cipHZmo5/xoXGwzlmxqRzX2SIBh9OULdmWbfvRkHx3skpBHjjo2KWsMAKp2+Vrhzh/0897QWDQj6yegsY5Kpg//sefCZNqJu2KPbWTkn2+zN+p5rNW1uNb2RmzDGCECIQIhAiECIQJEIKy1vfM+0O7ACwdOpB5w9ZMfm2nf/HVq+SjBDb8baybe9WhUV9k27q/WPJ0eopU1FDoqisDVg40FaJtB+2LdTMOrFhMwEaiYNmnX+tGVTWlV+qzclkMTUz0zFigOHCelBanjv/ywqXsp/XWJCvLEzf3Mmn3JgPjLnww0Ty0tPEKIe8/mE/FfQGg8ddxC2+UHawfc57HWBmjrvMvCTb4TjFAMEQgRCBHoQxGohgWzGtaYrN8km31wRwm0PdtReoRoH3qL1MxUkuAiu1HLPb/V12XXKi/3iGJfxq8fXrK1LDT1ZcvV2SnMkcrl+tO2uwDXLUvf3ZFcCaCWHZt/88dm3uDC82m5seAFfI0DsIKcQDVXTmBMduJyVy9Ozu1zdYCESccSu7qUXX1AHm2APcFQX171NONgW+BStomTyrIlkEidfj37VzGVnHaZkvt9/FIDKwVMuQ7oCZQKrDK2Cz4Bm5JBXnrAUhLygF5sk+jnpWfH0iegSxk95sNOV1179JB3bQva0oYcOn5SnNgNy5x5YV8wVnNifOwoKV7yi3Z01U6ObdmXHnnWdSNJ3rXtl/NYq2txrfXjEOohAiECIQIhAndWBJLWzqz9cdHrK2tt3BzdPsXOz12ZW1HWczjbz6Y/8hbgOuHPuv//l8U/wO/0v8kGfrlPWvbz9MfVZvEnyCZHoGPf5szQ9vKW+YbdtrWYCjs6Z6R2Xc+HPjCnLrVOXxXc0DLScARxUuL4aY6hJiG/aMfrSSpm6l//yqx+amiiXDmBm59dt0c3Jx3FfPXGDfPfP3zLvLR6iTXFfWjSM3dPXb5ooe3sPYUTtMr5kNSudUByPa3LTlSex1oboK0T2Wq4yXfcCcUQgRCBEIEQgZwiUA0LZi2uMXMP7SqBtqfbL+V0RYKZSiPgwkegpFsHLgJg2ZXrt9PHzlMXbsoH5HUMcwmodHbOCoCiI5mo3bKM644hWXJ2DPNc2qttBfiPXBQwxm7Uc3tdW4zj+owdzVnj6yhl6oLEkkFeY9NPDJKA9Lz7XytCLgEuwBhl4JyAFzcegEIBOUAa/QJkLhCkDZApKAmoc4GlbEjX7VMbOe2Mjy0AnuQAcxpPY7hQ1rVBWfNSu3Rox5dyYJZ+fxzZIBb0U8ceCR+AmBrTjQ9t7rwpy7bbLvvoCoaqjVw6PEMWGeAm7VGy+KdEvzuOC4O5CQXWqo05YFv6xJ5+9AGkmrfG1XXBN/pVp586uSAvZa4fY2CPhG3aeaHL3Chjj0SseTEHxsamC2cVf2RlRznjyl9r7Db8yGOtrsW19jaEOgwZIhAiECIQInCHRiCstb1z4Zs+nm/vmW50XEs9YCVHG/vGl/4s+xHLui/ybYV670Sgfdc6c2FRNlh2edsS07ayZ7sie2d2paNcv9Jhfy+yPDv1yplWq8MXIe70tGrvB6meGbvgh2+ahfe8bcPFM2bTgN7Z//S7TM8a9q9F+7UL9v4yCcCevXLZAth3N662JtI8cxfB/zLoNTNue70/bNXW81hrA7R1Lm+4yXeCEYohAiECIQJ9KALVsGBWwxqT9Ztk8w/vLoG2Jy639aF3RW1OhV20wFfgI2BTYFJAE7hKEoAUpCTnhhx9QU0/AjpO2N99i03GQpeEPrIaQ2PTD3B1YS5l4Cr6fkJe4FV+Yos2kuwynnxWG3MhYV+xAApTxi5yAr/IkOiTb/ILuxpPvjA3wLLGUs6YgDKAHZBMIA1Ipjr9QDISbcBJJYCZdAXKyIF+AnyUBQyRbdg2vQSuAdUE1lwbtKGHPgnQh77K+AVQxB/p0y8b9FPGDxdqCiSiQxkb0nH1mStjIkdZsFc+yCbQl4QcCZ+xqTnLNnLykzI26XPHl6xgrOrKXcCpNvIoeWRJApzu3Fxdvww0xU/ix/zdfhe++uMyH66VK+/X6SMugt4CtK6OylwbEjYYVy/8UhwlSww1T7X5+cq975tTF/ZYm1nXjSR5a7TMjzzW6lpca8uEIzSHCIQIhAiECNwhEUhaO7P2x4Wtr6y1cXN0+4idXrQrlspd2TzLW/pPzfxs2e1DF9j7j+vtVyt2Zf4PXjeL7u2fSZ9dttwnhXR7InBl+wrTtmxUpsGvNK82F5aOyKRTDcKXT5637/G9UwrALo1PN9qvWZ2mj+alEe/TMkt39U/1zNhZ//hbs/yhwTYWPGN2WsMTiXFZ+KO3zPwfvJEoV06grf2kvbfl3jUutbR+agHssIaNVowjldM8cxdoO2TL+jjTiX3+3/2e1uMGzGOtDdDWiXA13OQ77oRiiECIQIhAiEBOEaiGBbMW15iFHrQ9ein98U45XbpgxosAoBSICkBkd6h2kApC0kZSuwsuBXQ9k8UqNgGUwE/BTQAuMFO7cRFGjpfAJjf56Mkf2l0AjI521xYHA5B1+go4deGzICpj4AdzkT+MozZsYQNdjcF8iZFgrOZDPzCXfvyVjlXs/KGYMS5Jc8AGL9oBYAA3knIAGGXgInBSiTZ3ZyMAjn6gGbKAMurI0YZtF1BS31O3srgbkzpQTnBUoA3AyDjoChjjA7JK6JJkQxCXOi98A+jiB+XJm39p/cM3+cm4JAFefEdXeraz8wcQkT7BRGxiR0ntbl2glJxxueFDR/GVPvmtePGt4ChwmnYsxSqNvA900SFevi5yUe2+nOrIq6zcb8NP19co+6M23GPGb/qZudBxUpeoV/I81upaXGt7JbhhkBCBEIEQgRCBEIHwTNteew+s/+1oM/HuxzKNt2fSKnvPcfnU+Ux6rvDMf3jBrPjlB25TYpnn2XLvFNLticClrYtM26rCl6PTetC+e4NpXfCRMTfS7+ROa/tWyp3fe8y+xw8u3JJpGI5U3vJ2bR4HnWmiCcILml9OBTin/OVTZu2zBagPEAWMJqVl/d43s779QpJY2f4zF/fb+9C9p1eWlaFj28nC82knNjdYOZ65u2z3u7E6dAJt+2+It51opBcF8rivDdDWuWDhJt8JRiiGCIQIhAj0oQhUw4JZDWtM1m+SLT6yt2Sn7aGLld9A9qG3022dCpAS8Ai4VCp3kw1oJJEDQgVDpefngrXICaIylg9cgb8aX2AVUOom7cKNgqOuHGXsaUz0NJ524iKDH8xTc3FtSJ42yrzwC5sAWmAsCV80DnONSujxIpEDbskFbYGPR1q2dVMFdgLCXBhJm/tNU3TduuAkeiRBViAlsrTjs0AicI12koAmYA54qnbb2flDkJWq+skFVNUucCzAjMzmDROLQJm6fJR96prLku1vqbkI4mlARj4wpuzT58JlydLPfMiJHS9ipMT8SYK7gpJ55FHgMskusNqVWbNviK1X6l+leq4PacpcT31pAHmuja8HtJ2wuZ/ZeWJRcUeKrkPWdcSXl52oPI+1uhbX2qhYhLYQgRCBEIEQgTsnAv5a2dN6XOT6ylobN0e3j1jqRbsfW1c2z/LKx4aY6X/3XCaTB+dvsvccrfuOZdJzhSd//Umz7rmRblNieeMrhZOcEgWDwC2JwKWNc8zFdYV7vLQDdOzfap+De7PGHl91aste+x4/vj7bs0kn3v2oWf/C6LTh6bNynA6V9MxYJj/uTx4ym16faOOAPPd2N27GA/41z3xipnz9qYpjd6y1yd5THjlfgLHlDK053GIB7NKWvVaEo5sXNr9WTrzY/r8+6m9+u3JRsV5Jwf/739N6nA95rLUB2joRroabfMedUAwRCBEIEQgRyCkC1bBg1uIas/TovhJoe6Dt05yuSDDTkwgAbl1QCdyMStpZK6jr6kTJ04Ztgc0oQIoMIFEwFsiKvJ9oK6fvy5YDqIBa2daOWmxSTkqauwAs8thTLru+He3GpR1d4DS2BG0BXLLj61L3YaSgJX0+/ASWkoCTJECam7hes3l2b+dRzMBbyQjsCsCRxyX5tadphbXHPEjoAV/x0/pXt8tsahhvtgyeYseSb75tF8gumPpq8ZrofRElL8jr91HXfACX7lwUP2Ih6OsDVnQFfAU+fRkfSrr96JC4Hr4cdR/OSgY/VXZz2tGRTxpLviFbbizXTppyOd/csZLsMHf5Kllu7NlRvf/MGhub3vqRx1pdi2ttb8U3jBMiECIQIhAiECIQ1treeQ8s+cm7Zu73Xsk02PG1zfae4/TWfZn0XOGxX+hnNr852W1KLNcPnGnH/ezmZ4myQSD/CFxcN81c2jg7k+Grh7dbaHvjYm19PnNkxTb7Xju7vXCCU9pJT//bZ83KR7tOtEqr19fkpmx91CQ9M5bfYz672Da48J5Cnnu8K9daY8Ox8dUJZtwXfxErE9d58NxGO865y4fixMz8fbsstG0+UzjRadGO183sxt/E6tD5Z8MHmccXZ/s9STR6CwXyWGsDtHUuULjJd4IRiiECIQIhAn0oAtWwYFbDGpP1m2Qrju0vgbZ7LyTDsj70tqmZqZQDkO4O0yyTQQ/4xj/7suHq01duTFcubbmcLdrdPuAuPqVJgofK0XFhbzmA7UJoQWPFAoh78vSu4k5c349yNpGjT8BVen5d7cqZO/NFF7+WLXrXTLr/EXNy4+4SaA9YTbIlmwLkQFcSeoBcErCRfsZlzgKmttP7IX2a5/78ZauHn0BvN86U8ffA9jqzfeYCz0ppFZsATgFltxefBH0BngBFgCXyStyMMgcAJDKyRZvAqaAkbZRp1zyxrzYXhmJfu51pp0yuncD4Inu0Mw9k6Keu8ZkXdc1PvkQBVuRcn6lLnlw2o+Av/pDIZUO5a0dlZAHf2B1Td58ZXXevmbD552be9pesnazrRpK8NVrmRx5rdS2utWXCEZpDBEIEQgRCBO6QCCStnVn748LWV9bauDm6fcROL9r9WLqyeZbn/durZvH9v89k8kxji/3f/+jKxkx6EhasafxgjppS5c0jFhXvOVIpBKFcI9C2aoK5tHVhJptXj+0pQNvWU5n0brfw/lkb7Hut7dDpTK7wBYisv0+ZBqgR4XGbfmp2nIi/p7564bKN8c7RS+2skOc+78KVE7GzbBg0y+pV+uWNPadW2HE6rrfFjjNpxzYLbc9eKXxxffmeAYYjkpPSN8d9bB6Yk+0LKb5N/+9/T+u+fbeex1oboK0T0Wq4yXfcCcUQgRCBEIEQgZwiUA0LZi2uMauOHzAj6kYUwe3u1jM5XZFgptojIGAY5Sd9UTA3SjZNmwv5fHm3j3HdnbO+rFtHlqTc7UsqC75KF4DJMct212uMDy4g1hgLf/SWBZrA0JM79lj4Sh9AGJAZlwSpyTmuaNm4AWbkFwrP1wXiurFx7chvt01lf1f2kRP1ZteMZbYbeMs4zEM7laUXlwOWuS6MO/UbTxdjznuEncrqx6b7vnHL2GfcEb+6xxyp636kEn3aLbyufngRjAJHlQCTAFHt2nX7gNNATG5YeQFWgaXATyUgqwAsIJd+XiT0acM2uoBhtdNHGxBUu5YFgvGJfuQFc62iMWZi3S+KPgigCsIK7Aq8CrriO/bwFd8FjmlHFjvSJZee5okPjMG8sKN2fEKW16aD48yx801ys1fzPNbqWlxrezXIYbAQgRCBEIEQgTs6AmGt7Z3LP+P/Ppd5Z+CFg6fs/80HZm+oyMmO8xet/q6xhf/t0xrZO3WN1St3b5HWTpCrLAIXlo0yl5uWZ1K+fuaIhbbktZR4b3JvyHs1S1r8499n3rmexX4tyF6/2WFGbfhPk/TM2ItHztgY75+5zk4Lee4VeeZsXNoxcknh2rReihMr26cvQJcV6OwYVr/RQlvJ8cxdvjCclP558kjz/eljk8Sqpj+PtTZAW+dyhpt8JxihGCIQIhAi0IciUA0LZjWsMVm/ScZbYOTGkUVo2/xp4QiTPvTWCFMpEwEAnI5V9kXioKAvm2edcfUs3bR2BWDTykfJMS7QkBtMcuCtnxgnCihLZ1m/9y3MHP+lhy3EBQIDXgGX5eKpY5kBodhZ/HZ/m8sm4NcHn/gF5HXn7Zax5aYDdRvsnKSHbWIcNRdXzy2jw7zwhzJ+86EPfmCHNnLGdmGwey3RRQZoGxUP+cNcZr73bBHgun4AaYGSpIZt04vwkrqAKTesQEsSuQstJedDTyvs/MCWdv2qWRCVuntNsI88OTICz8hNXfq4hbn0AUsBrkr60Ix2+gVzqSsJDJMzL+0wVj+x0s2z4kIfPuCLn5CVv25f1nUjSd617ZfzWKtrda31YxHqIQIhAiECIQJ3TgSS1s6s/XGR6ytrbdwc3T7Fzs9dmVtRnvTnj2d+Bmf7uTb7f/OucdkAnvxn9yL/d7ObMUs6tHir1XP/h82iH2Qrj8BnN2+Y1kVDzZWdazMZudF2zkLbaycqP0o704A5CbMLnPdo1t2cKx/9MPMzonNyuWrMXL76qb3nO3RuU6xP53YcsjE+sqzwRWjkuVc83hr/pdx90wunmrUdzrYLWs5wH8k4SendutUl0JZ7+NEpnrl7z6wJ5u8nfpJkPrZf64CEelqXnag8j7U2QFsnstVwk++4E4ohAiECIQIhAjlFoBoWzFpdY0Zu7Npp23gu/kiVnC5XMFMFEQCcCZT57rgQ0O+7lXU+SACa9nbSuAKS5OxIJenDDeIFuCQBY9WHLHEkR4YcOXLmAtgkJ6YurKSOjPua8q0ni3XBY40F9MQWiT7XFnBUfmJP1w856vTTNv5LD9k6/kaBaWwzjps0J+ywi1f+4hf2NXeBZ/pJ+EMbPgMogblW9ps/LvFdsvSRsDnr6edt2f/BzlGBzOYNCy0sVXyRFdwUsARSujBT9gRMkXMhqfrJo/TUr2siOWTxzU9TBj5eBLoCs8i41w9YK5jq7hz2bXGD3Ngyq2Qc/ADQ0hfnr2whC7BOIyudvPM81upaXWvzjmWwFyIQIhAiECIQIhAVgbDWRkUl/7Yxn3/QbH5rSibDxeONh8zNpCfhc82dsGb5NjWlyk+s32n/h+eRJiH1bgQ+u3rFwtf2vfEgzvfqs2sdVu/qkcIXVv3+aq1vfmuyGfvH/TK7t+43Iw1fhLiTU2v7cXtfd+ZiPKjX/fnJTYXfZ+S5H+SZs3GJe0fu1YG+laSNB8eYURvuSVR9afUS898GF+7tERbsTXrm7kMLZpivjfog0X61COSx1gZo61zNPneTf/Oqubh7oTkzfqA58eZ/muNvvmBOjZ9izu0+ZjpuOhMPxRCBEIEQgT4egWpYMKthjcn6TTLeFi60bTh7vI+/U8L0FAHAlX+UrvpuZ+7CyN70Q4BTwJUbGm5sOP6YxE5a2oCEtLmgl3ZeG1+dYHPVAZHEmBw9F65Sl1xUjiztjMW1wi8gKM+iYRcv+iSBU/p1A8eY+C6QqmOf/XGsAecH46BDQl+59GSPusa1INaDz/gmwMtubspuXHWNiSExQ55+5ko+/i8esmP7P4CsAtI8Z5eEbWIlmy6EBU5GAUrJoq9dt+5YAuBum1tm7i74FUh2Zegf84uf2vF1TLF80fVBXjtfJUMb4/s+MK8dy0qfb4QdEkch27mmODI8KiZZ140keetUmR95rNW1utaWCUloDhEIEQgRCBG4AyKQtHZm7Y8LWV9Za+Pm6PYRO71oVyyVu7J5lXsCXyuBvfJb8PXU5r1qSpUL9h5eUp9KPgjlF4Gbl1otfO1oyQba8aB1wRBTiV5+3me3BHyd/LXk55f6loG9Y/73g37zHVUXfGXHbVwSfP10V+HobO3Q3XtqRZxa8bOCExt2xsqV61yz76NUxxw/tXSu+ZNhA4pmdDLUhfb4DSLPLJtnvujoFQ1kKPh/93tajxs6j7U2QFsnwtVwk++406PilX2zzMkXv2aOPfFn0a8XXzVn9100N3o0SlAOEQgRCBGojQhUw4JZq2uMezzyljNHa+OCBy9ziQDwqdqSYFhv+0UsBCeVCzQKoKqdXH1um19GBmDqyrPjVHDVl3frrv2o8XXtkJOs5gBI1biyGWUDMIiudtcCAZHnGsi+bMqOcmAsulHQljb5JHk3F3CO8klyHN8kQKv3AnHjRTtjkMh5CWDqaOSiTudxyqqTS5YbXu3KdfsFrN02YkK8FBsX/LpyKttr/J37isclCw7Tzo5nxZebWKAvMBWAS1JcKTMe80VfftOOL9otjQ3mgU1kZdsai/jhHuEc0X1Lm/JYq2t1rb2lgQ3GQwRCBEIEQgRCBDojENbaW/9WaD9b+THHk776uFn//KiKnDy0aIv9X/38nmz37ByHyv/Y/H8dUu9G4Ebr6c4ds9lBGdA26w7d3p1d99FWPPKhmfn30acmdZfuamn8cK59j2Y9VrnLQu2XjrU2pjp+mHtpfp8vHT9XnDQ7bbknjEvcP6LHcemVpOW73zXT6pOB/IPzppm/HP1hcYg9p1Z07iCOf+buq2uWmj8Y/Ia5cv1aUbeaC3mstQHaOle4d27yr5u2I/vN+OGbzfeeX2/+6FeF11+9stm8Om+/2d923fGosuLFNa+a4+VgbUn7982JNcd6B9yemmMeuetJM/NUZXOqLa1zZuZjXzWPzOn6A1lb/gdvkyLQ3t5ufvPbF82s2XOSREN/lUSgGhbM3llj4gOe9ZtkWHOhbd2pw/EDhN4+FYEoONWnJphhMoBLAcNbncfByrRjAyotGHR2ubIDN60+coK02BLApR2wjI8AQ/qy2EwjC1T0fY/SA166CZ+4SUVXO4IFhwUw65rHFFUs8HSe7SoIzJxI8gM597g4xiEJLlOmDXna0Od3Bz0/YYdY6v2Er4wrOKx5C6wCa5GnX0csEwvGQA95xjzSss22aUx2JSOHjCAsOtjV/HzfytWzrhtJ8uXGoT2PtbpW19q4uIS+EIEQgRCBEIG+HYGktTNrf1y0+spaGzdHt4/Y6UW7H0tXNq/yhZaT9v+wA3PqMpuc8a3fGJ7fWUnaO2W1HffyifideL7tjtZLVm/HyCV+V6jf4ghcP3vUQttrJ+OBVZQbrYuGmSs7agu0L7rvHTP/P16Pmk5sG8955t6m/eyFWLm+3Nlyti4VtNV95rWLV4rhANrqC8DFRq/AfSQx3jt1jdeTrrpwx2tmduNvEoV/OGO8+fbE4UU5jm3Gv+Ot24ttUYWBG9fYZ+GeunQxqjtVm//3v6f1uEHzWGsDtHUifMtv8s+2mI/6rzd3v7bVjFx91Bxtu2Darl4zHZcumLbjR83cGVvN/3tuvbl/cos5UyG77WgekhLYagfu982p5qtOFBKK2waZL9/11cJrUPwvVImlTr0B2U98KDFDpXHQV82XE8Y+O+fJLj/l72NzTLePz1yYbMtfNVE+FuwNMo3dvKFhuxlwl6tXqCf56Jqyc5KfyqP8dZWK5QIk9sezPvs27HUoN4+iwdhCIRbRAL4wj9K+yLmVxCt2uML1vqu7z9aPhPdBvOX0vYK0vPe//c/fNWvWrLP5oMGV/TOdfuQgmVcEqmHBvOVrTF7B8uyM3DTKvLZ1uX2tO1nZ8y08k6FaIxEACIVUiIBgGjcyvNhJqrKbl2t3ZfyyIJo/Bu2+bJa6oGsWnShZgKfgp/qBomrTs3DVF5eniQ92ZTvOFn1uoi5wSlnfFpYNgOnGIeMsyMR/7SCWDepATsbmphVbvIDU7lgCwlwfQWL6qRMrcmS08xWbSpLTtcG+fs8YX+3YIAFcZQeAS5INxual3dmMybOW3WO4sS+Qy7yAy+Qk4hP1xQxs3q6Ux1pdq2vt7Yp5GDdEIEQgRCBE4M6KQFhrb/31PrPtgP1/7ejKpsyDzfv318ziH/8+sx4KzcMX2XGvX+7IpK/jnHnMSki9G4FrJw9YaHvj0+yPoWpbPtpcaYo/8rZ3Z5M82tzvvmyW/nRgsqAncWD2BvvevnAg/ghdT61PVdmROjrFM2O5/xv1hz8pmTt6PHM2LnHPyn1m84hFcWJl++Y0/cYAbpPSP04aYX4wY1xR7FTbbgttk565O7xhk4W2+8/Xxga5PNbaAG2Lb5PCt7udao7F66atodF877k68/bGMwW7N8+ZhqUN5tHX6sz3BjWYaTs633TXz5hVo+vM3a80mrqsu25vtpgzrwjGZshfmWLaUj3jtgAjS3eQ0lYK6XIMXKSp1NDWA5YFeOjBPxfaxgDh+DF9aNvd7Shw6cYxyr5t8+bQ3XKhpTug7QS53rXpBjpdCN8NpBZs+BC7AG2jdhJ3wmpvzKi5lcwj1odOSH9X9/G6zaXEaL4VdtTee/9PzfnW1nwNO9YEhrdsDc8RccKSW7EaFsxq+CA56zfJuAAutF1zoiW3axIMhQjUUgQAXC5wBKoBy9RGDhAT4OOGR32U3Rc7XunTzldBNeLhyulbsshJ1u2/lWUfeGqsKEDLjSH9fh/wj3Y3Dj6Ylp6vq/GScgFP+Uv85Y/i59oAqvKiDVmSIKVAK33AT64n15kXbcjpZhY92tGRPXccyvThF/7IT9pdm8ybfhLjoSM7el8AWRmbur39UgcAACAASURBVAtk8V/PUga+Ss/PGVsxkX1sSU6xkx+Ki3UqYkdK1nXEl5fdqDyPtbpW19qoeIS2EIEQgRCBEIE7IwL+WtnTelzU+spaGzdHt49Y6kW7H1tXNq/ysTXb7f9Zp+v3ZTa55IF3zdzvvZJZD4X6ATO6wZq0hsZ98Rf2/8y08kEunwhcO7qrAG0vZ/+ssW3VBHO5fmE+jvSSlel/82uz+smPM492dGWj/Z3iCxF3amo+Pi/VM2P5wu/4L5eeSDVh88/Nmv0fxYZOX96oH1jZI7I4GpkjkpPSX40ZYn42r/DYH2Tb2k9ZaLv3dPwXECbv2GahbcPJ7F9wkE/+3/+e1mU3Ks9jrQ3Q1onsrbrJ79jeaL7z681m2nGdu33eLPmw62hkHZH8q7XnO725Zo4u2my+9FKjaWh3HEwo3mgaGP382pIjkaNg7tfMqVRfAIuCk7UDbbvviDXGeNDWRO5EjZq3ezGS+gvg0YW0rjblSLDp++YrufVufuPTIDNgkLsD2PPDt+/XTXlo+8igQeYRHyjjw2ODzIDHSiF+5Nw6fbd97i5a60N3nwfM4XjtUuDe29CW45ABq7cqBWh7qyJbsFsNC2Zea0x9faPp1+8p+6Lsp3nzFhf7n3jiedPS0rPdsSM3du20/WTXJn+4UA8RuGMiIPAFBNOuTO2MBKoBziQDEEPOh63IA/4AdJJ1A4g8IA+wJ+CHbckKtNHvwlBAm/r8HFn6sefCUcb1ZVWnDx9Vlx5+uOPSzzzJFQvKjCkbtCPD+KSomCCPHrYZyx3bHw85vQCmJIFTcsUiTk/6AruCngBS9SlXG3aBubQTB7VLLipHhpd2tCIjXyXP3BVDtZEDZAVUsaF5uTIqu/FSm3J/PNo1b8qaO35wrDJj3a6Ux1qd11p7u2IQxg0RCBEIEQgRCBG4lREIa+2tjG7Bdsu8Tfb/xdZ92eHCyseGmOl/91xFTta9PM5M+MojFelO/vqT9v/cipSDUsURuHqw0ULbz25kP27z4vpp5tLG2RWPfTsUJ971qNnwu7GZhz61Za/9nTq2OsOJn5lHqW6F+sNTUj0zlvvCqX/9q5LJFIDqgJK2qMq4P3nIbHxlfFRXYpsFw/viwTBGvjRsoHlySdejBm/cvGahbdIzdxfs32Wh7erDtQHu81hrA7R13na35Ca//aB5+6U68/b2tq6R9mw3f9f5LFsBW5v/drvpevR4m2kYW2e+MzX9A+QvTP6XCqHtn5ljk3d3+RdZKoDJ4tHIADRvhyR9/q7MoikfCNr6INPYCem+3Lk7E4gH3CzAvM5jmD04KAhYIuMdk2uBnqeXCtr6fjKBbkC0a/enjcegOfYZtl1zL8DOLkjr14tRKRY0p2IDhQhfSubszs+XxedB200p2PQgrIWspUdGY9/6XbwundfA2elasMmcu8PZR+bM6bbzOnJuJRN1K91jJZ+US7p0bmrNP2eXbdf7/qv2ObYCrHqmrerskuXIZMmr3/XK7RcIbmk5aI9blh45urLr2mG3L7t+tSNXMpWO7frWl8vVsGDmscZwvd9/f5gFsefPt5r+/QcbcjcBbaNgLjJZv0mGjgtt36xfaW58lupoBtelUA4R6BMRYHcicM1NtAEHSfTxEnQFzgq2CiBKV7KCm2pHHqDmtwPvaBM8RR6YKzCnsj8e/UBT/CT5NnwQyNiSFczDhqAgbS6cxR8SdlwQKP+xRbub8NEFt/iOfWKEPGWSGyPNE7sqK/ehZJSMZP0cQOm33Yo6PjKfKNv4oPj6/WnnklbOt089Kgbu9cq6biTJu7b9ch5rdR5rre9X1npSDPz+rPaDfIhAiECIQIhA34qAvy70tB4Xnb6y1sbN0e1TLP3clcm7vHviSvs/35XTpffpacZZ/9vRZuLdj6UR7Saz+qlhZto3n+nWnqZh5j+8YL8wmEY2yOQXgY59my20rcTipY1zzMV1XTsWK7HR2zoc27v13emZhz2/95j9nWqZtzGzbl9R4Hjj2U3Jz4zlvnz2P/2uZNropTm6eMpfPmXWPD2sRDdN5cZn18zounsTj2DuuHHdfO6Dt8zvVpd+PsAzbRuOxL+XNxw9ZKHt/H2ln8ek8U8yWgfyqstOVJ7HWhugrRPZW3GT37Z+q/mj3+82nYci29HOLN1kSmBtEeBuMtNOOw6d3Gnu/1WjaXCa4ornR0Xtok3ZNirNVtuIHaU+LCznoC8nKOiCR+04LYG/nbDYgbIWAibIRELbzjG74GoUGO0ODX04aMd3/e6E1112fRseLI2IkbXpzNF07nL9srO71JcpnWPpGPRZ+FoCZomlC1q92PrXqNuzeguOKx7FMWyzbCvvmqTvd1dPVMmPnbM72PNPfkRZybsNaCrAim2BUsFU1YGtgqnkPP8WIKsEsHWfg+va9WFs1Di0+XJ5jC3/+nJeDQtmHmsMu2aBtlx30rBhY7sBWtq0E5dyT9K1a9fNyE2ji8+05dm2Jy+2GdrDK8QgvAcK74Hdk1cXfx8unbtgtg6Ybo6sbbZtp5pa7A0mbZP/8uminGK34eWxJW3nD56ydeQl4+bzf/iGtUebbANOKWvcVU8NM9hd8uB7xbFlQ+3YoQ0dwB2+Udb4kp/5j7+1fU2fLLRyzEs6jKO500+foCAysuHnjCF7yMumfCKGro7GQ1Zz0jiC2KqnyRXDNLK3UsaNwa0cB9tcqyxjjPn8z+0Rez1ZPyrRzWOtzmOtxfekUy3cfr4sFVKIQIhAiECIQIhALUSgmtbaWohXJT5uH7rA/t91vf1qZvUt/adWfMTxsp+/Z2b/cymsSevA/B+8bhb+59tpxYNcThG4snOtubBoaEXWLtcvMhyRXCvpRvs1+3vB70fWdPnkeavLFyLu1LRm30epwCsnJ/FyE8CWZ84mpVn/+Fv7ZewkOb//ytXzdrdsfQJ4PX35ogWvv69bVWIC4FvXMrqkza8cOH/O6k7asc3vqsp6HmttgLbOpc3rJt8xaUzUTtvtjeZLRVDrHJP860bTUNzA1LnTduJBk/YR8p+OSAloo45LHrHZ3ChxPKpSgHxdcDIKekbpRch5AE5akYDPQtGuo3HTyFig54JVQdCStgi/jCnsTi3KlcLQqN2v3Xfw+uCxUHd3UX65aL8wczunu7p2tUq2GGsbr64YFLRKAWlXXFyfHRkvjl02usYtjmc7I6634gNgxifNowiHnfEKA5TumtYcSwB1pyCZ9dEFyw60FdTv1K1GaCuIy1R8uAq8feTxJ0uei4sMbfT58tgQkI2zm0YmaWznCvTZYjUsmHmsMUDbceOmFK9T3K5a3hvsxHV33Wb9Zll7e4cZs2lkCbTde/a0oT28QgzCeyD6PbBz4sqS3w9g2aHVTWbeD14vaSd+tEfF8ez+42XbXR1sL3lwYIns/vl1pnHYfIONyX/5lNn8+2nFfsquL5RXPvmx8X2WT9ii/8S2fdZ/cmxoTpKjnfGAqMzTHVMyfo4NoDC6jO/PQ/L4gCwvyujIB3xjPFdGslE5/mHXhb2UGR87UTpp2vDJl8Me/qndHRP5tjOfWj/UTq4yOlE2uZ6yl5S7+sTLnx9j+W2j/+dPrf3R/+tnZur/ecYcXdWU+YSGpHWmuIBFFPJYq/NYa1k/4061cNdiTrt45ZV3Sh5FkBQDvz8iFKEpRCBEIEQgROAOioC/LvS0Hhe6allr43zMs49Y6oVdxVZ5nmPJ1tbfT6sYvDZ9PN/+L3ajQ4/Xk9XkfMEP3zQL76kMvC792cBuu/OSRwwSPY3A5cblpm3ZqIrMXGlaYS5UqFvRgD1UYuc59y97JpUCuzRmr1/psLrbh85PI94nZZbtftcs3518xDEnPPGYHTehN7X+cbcpsszfEE5wypparxxPdcTx/k/PWvA6tL6uZAiOVl69b0hJm1+5fO2q1R1WX/lua//vfk/rvo9uPY+1NkBbJ6J53OQ75orF4jNtT3aeUX/zlJk2wIG1nQC339JTnTrXzdGlnc+0zfDFrFt7PDKuRUC8bvC1ICPoyBG9Nvlyfr1z5l3gsbOBzAN5aWQs0BMgVC5fHNORENb1zS0XfYmCp+7R0N2hbeOgOabryZOdMXL8KZmTHdMbw8agC64W4+vsnO0C1diXfhfA7QY57TidfhftS4/JRlxvF9paEF4ArNguHAeNTnfoWnwfuLHvVi6M13WsdEGA2BTbnOvRbT7d7OXX4O6IxaoPSv06Mj6EZedt13XrupbajevLR40TZTePsbHb11M1LJh5rDFpdtq61xKo29MdQFM3fmCh7arjB2x+qE3PX3dHCuUQgRCBchHgKGCOxuVY4LwTN1UcL1wu0c/YSnquLEccp02+fc2F45/9hF1/TF9GdY4E1k2hbKrPzTkyWYCSso57ps31QTLkejawD0I1Fx3lzPiywVFS1NHXsdGquzCVfrVLTsdS65hnxlfi2GdeksGW3gv4gy+0EQPZQ15jaF7Y5nhq2t3jpSUnH+mjjWutNsbQsdaSx5aemevaYzygLc9E2zFyiabRK3kea3Vvr7X8H8apFv6jCnolYGGQEIEQgRCBEIEQgYwRqJa1NqPbNSW+4cUxhmd3VpJ2T1hh/xe9cib70crsklv+0OBKhjWrnxra7TmYFRkKSpkicGnrwop3y7JLt5VdujeTt2BlcuoWCfOMZ+4zDs7fVNEI9mjld6ZVpNsXlBY2v2bW7E9+ZuzUbzzd7fnU6E3Y9GBiGNit797HJip0Cpy5uM9C272nV8SqNJw8ZsHrRG+3LM/cBUonpf8y6DXzrrdLN0nndvXnsdYGaOtcvTxu8h1zTvG6aWtoNN97bpN5b2vnQcnXT5hVYzeb771UZ77z2mbz9voTBfnrZ0zdxE3m7lcaTV1btgeR32gaWOEzbb9mTqU5HTkK4jkQzZlw96Iv59c7NUrgpaxYoNgFE9PIdAFMGSmTR/rRBTotMNZuUgHLIhCVTR9u+tBWck6eMKcSUKlxHT8cS11F2WROjqxsKZeCX6edti7A6s+roOnC0gKs3e4837ZSaFsYy9+BLJ+K0Fax6Pa8Xs3q1uR5QFvfhu/prYS2SWP7vvTFejUsmHmsMXw4HLf7hw+N168v/BPsyuqaZv0mGXrz6/oHaKsAhjxEoIIIAOJIAqYVmCir4j8v1hcE9LnQVv0Au7RJUDONvKBi1Ji+PuBS8JIxVPblqHODr3757t9QClAiSwJOEh/0aFO77Aukqo6c/JcOdcbhGrr2ga20M0/sUldOmbGVKPOSrN4P6mfuXCeS7CCDD/go3zVv5OjDJn20kwvKoqtrxvzp0/XAZ/qYi96PjMn4M7/9ghn7hX5WHmg75RtPmxMbdhZ3pMjfrOuILy87UXkea3Uea627kxY/40614DQL/8tR/pyT6hcvXjbhFWIQ3gPhPRDeA3fWe8BdB5PWiaz9rm2/XC1rre/XraoTO70Yw4/lrRh31RMfm+l/8+uKTPPMTv53a93f+RlxBis8j3LtsyMyaHSJ1r00zoz/8sNdDaHUKxG4tHG2ubiuMhDZsbfwPNzPrl7pFV97Osjp+n32vX18bXNFpib82SOGL0TcqWlO0/OJz4wlNuO/9LDZ+Grpsdk8D3fUhnvM9ZvxOwN5ni33n1nTsdYmC20PnovfBbv68AELbed5z6Xl6OYFza8mDvsHg98wL6+p/EvF/t//ntbjHM5jrQ3Q1olwHjf5jrnuxeO7zQuvrDd3928w0xqOmzPtOu7imuk4e9zULW0w9z+33nxv2G5zNBuvLYx1s8WceaWCI5JfmWLaiscyd3e7qyUC4kVCzy6NYsmX8+udgqXQsNDoA9g0Mr5O0Q+/INDptQtMdgObVr50J2n3Hak9h7bddgCXiVep2wVgOmDQkw547dyp/NggM+Cx7ruBS49D9o+GjrjeDjS1Y1u/fNBbGp+o69Xdb3aedoF5t7/bNbBfHnjSzJwzqHSerlLOZR96+rtb/TrD+xCWI4rvvf+Bkmfcum768vSlsZtGJmls14++Wq6GBTOvNcZ9jp6OPuYDY45CPnnylJk2bU7xmbb+B8mVXN8VG14J0LaSwAWdEIHOCADYblUSnCtnn7EF7FyZJD1XNksZEJh2vsi6vrllf0wgo6ClfPeBtSAmOUny+AOU5AMwNwE3JUM79tjJS5vAKz4J/GoXMXbwHRn6BUXxEd9oc2OAP+7uYPT8xLgkcgFbbOAL9jWG9GhXH22MLV/csd0+yoqdL0MdHzmSb9yfPGQm3f2Y2TF6qYbrtTyPtTqPtTbtqRasway9/C/Wk6QPk0Pe9cF6iEWIRXgPhPdAX38P9GTd6Ilutay1PZlDtesueWCAmfvdlyty89jq7fb/vtMN+zPr8z/cptcnZtZDoX7A9IqPdK5owKBkI3Bx3VRzadOciqLR0bLNtC4YYm5ezr4ru6IBe6h0dGWTfW+faWypyNK0b/7arHo8eadpRcZrQIndqPWHux6VVs5ldiQ3DJpV0o3eiPU/NFeuxb9XNr4y3t5XliinqBw8W2ftH2/tPG21jM68fTsttF19uPQ9ALCd3Zj8zN0vDn3XPL10bhnr1dWcx1oboK1zTfO4yXfMRRdvXjD7NzabVwfVmbvd59o+V2ceHd5sVh25EK2XsrWjeYg5HvXM2rJt3zenmuO/adE1dBTEi2rr0iiWfOjo1zsFLeBzj9fthIIuXEwjUw7aWl1vF2rXztKit51HMgMSSwGkiXg2rh3rru5AVLtD7ZjOUciCvOpn1O4y3dsK83bB5jnTuO2c43QBFnMErxuvAgDuPpeC3669wrXs8isaPgtoFwYuyHSNh43SmEXNrcvpwpjlgK1i0+VTQVMxj7x2XcZzK+UBbXFm0OAPzb33/7T4XFs+5Nuxc6f1Mwq+Suc3v32x+IEgNrjGHLdMitKLAsBxY1tDffxHNSyYvbLGJFxHPvxwU1Id2Q3rfxOgrRu0UA4RyBiBKEiX0UTF4j7YrNhQBkUfCKZVFVCMkgcoAiXdpJ2iagOOCniqjVzx93fmEhvXpuzRxgt76idnXrx8O3wbGdiKjyTm4caddsUE+Bo3T/Q1pmwBZMvp0UfCPv67PtsOY4rAWHVy3wf0FSdXjnLSOpG137fv1vNYq/NYa/nfKu5UC3zWl6WQ9VOeMfFth3qIQIhAiECIQN+LQNZ1I0k+LkLVstbiI1+SeuKJ5+0Xjst92ZhHEPTr95R57rlXi48iQJY2Xo8//rxpaTlcdsrESi+E/NiVVexBx7zvv2YW3fdORRaAtfzfB7zNkj67+ZnV2zZ4dha1ouz2YQus/rWLtbFrs+h4jRfaVo03l+sXVTSLq0d2Wmh740LniZ4VWek9pQNz6ux77MJBPRoy29hz/uUls+SB5CN0s1mtHekJm/uZ7cfnxTp8te2KjbH/iBv0gLY8ezYu1Q+YYfX5e5Il7Tm1wto/d/lQrNrE5gYLbbefPlkit2zXu6meufv10R+an8+vbGc6A/p//3taL5mEV8ljrQ3Q1glqHjf5jrnbVry45tWU4Pb75sSaYyb96ffRgLYI0O5ynj3qz96HtH69U74A+OaYmY91PfPTB3bIPDKHI3nLy1ifHDjrulOAn9J1oaUr1QkTI20INBZs4B82u8ClCzvPmbOnOgGsnq0bEafCvL1/yjqBtTv/Ut+/ah7hmGDH7UJ/KTQtguaInazutQMEumNZs3ZncWesOsGz1SmB0I4D2gXrrMGRc+tU8cfveuZr13VBv5tfgudl/XB96nk5L2iLJ4KumuvwkaOKQNZ97i1yJAFYySNDX1ZomzS2HawP/6iGBbNW15ht65+00Hbh4T02D8+07cO/KGFqfS4CLgDsrcndijHZVZqUgKOAR398wVjtZpUdtauuHKCJrECr2rHLy28HlJLccd0y8vJfsrIZlftAFRDtg2LppbFXbp6yQY6PaeRcnVtRzmOtzmutTTrVgg+P9YExebkPm29FnILNEIEQgRCBEIEQgUojUE1rLUCW9db9spQ7L/fkC+SQJ7HmUq/WNONbz5sVjxQ+z8nqI8ciA205JjlLunrhstXbWeFJKXsmr7L6l467G0OyeBBkK4nAhWUjzeXG5ZWommsn9lloe/3csYr0e1tp17jl9j3Wfq6toqEX3dPfzPv31yrSrXWlm59dN2Pq7jPA0bh06dhZG+N900tPdhJU5dmzcal5+CKr79+PxunQJyjccT3+2g6tr7PQ9uyVSyUm1+wbYiZsTn7m7t9P+MT8aGbp0c8lhqqoksdaG6Ctc0Hzusl3TN624pV9s8zJF79W/hm3L75qzu67mAHY9nAqZSCtbzUO8Pmy1Vt3oW31ehk8CxG4kyJQDQtmNawxWb9Jxnvk7Jr/MKObFpsZB5oDtL2TfmnCXPtEBKoBxOURSBeClrMXBWzLyaZpd3fLSh4/BGDVpufRqk7uAmKAqPyPknX1osroaxev309fHsmfk2sz67qRJO/a9st5rNW1utb6sQj1EIEQgRCBEIE7JwJJa2fW/rjIVctae/58q33EADkJEOt/Acptc+W1+5YvTX3ySQHklpuzYufnku/ouGryfk366uNm9a+HV2S39dgZC02axyzJpH9u/3Grt3vqqkx6mvve2Rus/snGAxXpy07IM7yfrlw2rYs+NhebKrtmV463WGh7+cjemrhmW9+fZd9j7Vc6KvJ32S8Gmen/97mKdGv9fXnh0lm7k3XvibWx8z+5rbBTf//8TSVy6LHT9uCZ+pJ2Py47JxTA+rkDJ2LlfL3NBydZ+367X3973XILbf32dftG2GfuXr5yMXbcf5s62nxnUra/rfpbT651QG09rctOVJ7HWhugrRPZarjJd9zpefHmVXNx90JzZvxAc+LN/zTH33zBnBo/xZzbfcx0pHqGbc9dKFoo8+zYYn9noW9A2+gdyf5cQz1EIESg9yJQDQtmra4xrWv+zRxpmWnG7W0oQNuL53vvwoWRQgRCBEIEUkYgb0AdZY82AVi55dfVrtztrwSyol/u6OJy7Rq71vI81upaXWtr7VoFf0MEQgRCBEIEajMC1bLWAmGBr3rMADtno6CtdtQih7wgL9GnjWfLS6aSK+LDgzzqY/+4n6l7bUIsfCg3zuULlyzYqv9gTib9E4I1CzZn0pMfh1Y22nGPrm+uSF92Qp4B2ra1Wuh6adeGimLefuZoAdoe3F6Rfm9fq41vTDRjPv9gxb6u+tUnhi9E9Lbf1TDemQtHUkHXI+sKz8Q+vKb0PQGsBdruPRkPfffNLRxhDfzNMm9B1ySdF1YsMH8w+I1utjcfnGj9a710plufa/P+2ZPMN0Z/GCvjylO+XSmPtTZAW+fqhZt8Jxh5FTuP+I08ejdijNqGtoUdtvYY28hjlSMmHJpCBEIEeiUC1bBgVsMak/WbZFycC2u/b9oPTTI7z582bzWsMocCtO2V92wYJEQgRKA6I+DDXL/ue+1CW3cHri8XVy93RFW59jhbWfuyrhtJ8nHj57FW1+paGxeX0BciECIQIhAi0LcjkLR2Zu2Pi1a1rLXuzln8dXfVyn+3zZePklGbmxM7vWhXLJW7snmU9WzZxg/mVGxu1B/+xGzpPzWTPv9vcqzyyU27M+lJ+GxTi9U/sqxBTSG/xRG4eakAbTtatlU00s0rbRbaXj3UVJF+byutf2G0ha6VjrvpjUlm7Od/Xql6Teudu9RioWbS8caHlzbY32P//hQ9oG3S8con1u8s/B3ZmO3vSNrjjZ9cMsd8cWj35xLreOUL7fHP3H188WzzleHvVXwt/b/7Pa3HOZLHWhugrRPharjJd9wJxRCBEIEQgRCBnCJQDQtmra4xrWu/bzoOjjdtdT8xAxsWm8MXW+2O21XHD+R0dYKZEIEQgRCBEIEQAWPyWKtrda0N1z9EIEQgRCBEIESgNyJQTWstO2fZJZvlmbbA2/XrN9lQdekd7o3QpRqj49OLFnrsGrsslXyU0MS7HzPrfzs6qqtsG4+6ANp+uutIWZm4jrZDp6z+/pnr4sRCX44RuNF6ugBdj+ysyOpnN29a/Y59WyrS722llY8OMTO+9ZuKh902eI59j/LFiDstnbjQbKHr5aufxk5934x1Nkb+F4XRA9o2H58Xq3+u+ZDVP7ykPlbO71y2+10ztf5xv7lb/Wfzppqvj/6gW3vXM3f3d+tzG15YudD8jw/fNtdv9vbxsa4X6cp5rLUB2jqxDjf5TjBCMUQgRCBEoA9FoBoWzGpYY7J+k4y3wIV1PzDtLWPMuflfMB81LDCH2s5baLviWPw/VH3o7ROmEiIQIhAicMdGIOu6kSQfF8g81upaXWvj4vL/s/cuXlIcd57v/VvmnDtnz5673rmeK+0OWt3r8c561mfHXo1nzJkdz4zsWWxZI1uDkJBlGethGSF5QBJyC8uSkQQSLyGQgAaBeImXmubRNE0D4tkgnv2Aprtpuumm9bvnF1m/qqioyEdlRVVHZX3znO58RMQvIj7xq/xVxrcyE2kgAAIgAALZJhAXO8tNj6LlU6zt6jpPjz32FPG7aeXRyCzKzpr1fP6Rx/L+Wj7Gafy3enWzKqOXC+szs5M/zmOyDCuX9nhe/Fy7N60J+vC//4J2PvpGWeX5lRks2t68fK2scpJ55NqgKn/83a1yCOsqExjvCx5vPHYl/bzKjU1v0MjnLVVuqRvzm6e9TBv+bk5qY+yb7OPsq422nL92QImucf0+tniLYmR7GhOLtocuRN/BP3i+R5U//eGeuKqK0jcde57WdcQL8t/7aCl9a8VbRWV559y1VtW/Szei7xqf2/Kpeifu9VvDJTaSHDDP/5XuR9XpItZCtNUI+3CRrzUHmyAAAiAAAo4I+BAw6zXGDHz2D3TrzNtKtF3Uvo7ODFxTou02iLaOvBNmQAAEQAAEmICLWF2vsRYeAAIgAAIgAAK1IIBYW13K+ccMf5rukbfcuvVTZ9OWH5U+QjSq5ccWNg13ngAAIABJREFUbVZiy9jQrahsoWnyWOfDC9aF5kGCWwJjV8+qO2XHe9PdHc2tGdjyNt3q3Om2YVWylsav9abwXeAs2g6c69YPN8T26d5dtHjv92P7evi1tYqR7W5kLr/vXPQd/KP9wZMCji3aEluXnoEFWxZu45Zvv/82/f2HS0uysVjLojKLt1HL79v2KtH2i4H+qGxepLmItRBttaHERb4GA5sgAAIgkCECPgRMH2JMub8kYxcY+Owf6dap3yvRdnH7Gjp6vVuJtlsunMqQh6ArIAACIAACNgLlxo24/LY65JiLWF2vsVYYYA0CIAACINB4BOJiZ7npUQSzEmuj+qinMTv54+MmSz2vi+3Lnx1Tokn3wfTXypv/d/l3JLb/dg3xu3ArWfh9oftfWFGJCZQtg8DYxc+VaHvnRnoRcnDHEhpuL09gK6OJTrN++M1ZZd9BrjeA37fMom1vR5d+uCG2j13ZRMsPxL/Pd/+cFbTsrp9amXD53aej7+CXH2+0N6212gg7uPrQo8SPSI5b/vzd1+mBDaV3+/YOnVGi7cmeTyNNLDnSpkTboz1XI/OFJZrn/0r3w+rh4y5iLURbjbAPF/lac7AJAiAAAiDgiIAPAbNeY8xAyz8pwZYfj7z40IfU1ntJibafXDjpaHRgBgRAAARAAATcXNzWa6zF+IMACIAACIBALQi4uC5GrA0fqXMbDyhhqf/UpfBMMSk7Hnm97Hd/7nt+GS27++EYy9HJK//fx2jPL96JzoRUZwRGuw4r0XZieCC1zaE9H9DNA+tTl69lQX5X895n30tdZfeBk+qzdXnP0dQ26rXg4YsfEQujccueJ9+mD77+M2u2pMLqkq8+RPueX261EXYwEIR/H5acP/7/LJxPj21pzu/LxuBItxJtOy9F+/Lak0eVaNty8bwU9XbtItZCtNWGF188NBjYBAEQAIEMEfAhYPoQY8r9JRm7wEDL/QXRtm0VfXb1vBJtN35xIkMegq6AAAiAAAjYCJQbN+Ly2+qQYy5idb3GWmGANQiAAAiAQOMRiIud5aZHEcxKrI3qo54m7My1nsfl9smVO5WwNHw1/eM7W55aTO/fGy/Q6O3e/cRbtOovntAPlb390f94irb/dEHZ5VAgHYGRk/uVaPvlxJ10BohoqHUNDbV8mLp8LQu+95UfU9tLq1NXef3ERfXZOvfx/tQ26rXg/nNLE70zdvtPXqO19z1r7SY/wnjj0dnWNP3gyq/NpN0/L33vrJ5H3x6/M0qL994f++jlW+Nj9McLXqRnd27Wi6vtOxNjSrRt++KDkjT9wLau00q03dyV7kkGEgfEZqX7Yse2dhFrIdpqZH24yNeag00QAAEQAAFHBHwImPUaYwZavp8Xbd9rW6kE2zlt22n9+c8djQ7MgAAIgAAIgADutIUPgAAIgAAIgEC1Cbi4Lq7X69pqs2X7R9/apISl8eHR1NUd+LcP6L0/ebCs8tseeo3WhYg1SQ1t+F9z6JPvz0uaHfkqJHDr2B66senNiqwMH/yYhna/X5GNWhS+c3tcfS6OvPlx6upuXrmmbPAPIxpt+ezswkTvjN30/bm08R9+Y8XD75xd2zHLmqYfXPOtp4nF36TL8O1+JbgeulD62GPdRvfNISW4vrTXPn7vtn6fWrsW60VKtvdfvqBsrP78SEmabwdcxFqIttqo4ouHBgObIAACIJAhAj4ETB9iTLm/JGMXGNj7g7xou7xtWV60bT53PEMegq6AAAiAAAjYCJQbN+Ly2+qQYy5idb3GWmGANQiAAAiAQOMRiIud5aZHEcxKrI3qo57G7OSPjwtLWet5XWwfmv9hxe+W7fj9eiVO8fslky6b/unfiP8qWbb8aD41/81zlZhA2TIIDHdsp4Fti8ooUZp1+PAWGvw0/SOHSy1W58hI34Dy6RPLo99ZGlX72M0RZaNz4caobJlM+/RkE239/OXYvq37zq9o27/81pqPy69qm2FN0w9+/L0XaNP9c/VDkds3bl1Sou3Ryxsi852+3qcE1zcPtVrzLdv/IO06Hf2I5eO93crGoo4DVhtxB83zfqX7UfW5iLUQbTXCPlzka83BJgiAAAiAgCMCPgTMeo0xA3v/OS/arjy4OC/arj13zNHowAwIgAAIgAAI4E5b+AAIgAAIgAAIVJuAi+vier2urTZbtt/63FJa/p+nV1TV50u3K3Fq5NpgYjt8ly3fbVvJsvPRN2j1N35eiQmULYPAzbZNNLhzWRklSrPeOrqLbmzmR9kmF/hLrVT/yMDZK8qnuzbsq6iyxf/+h9T2Sn08DrqijhqFNx//TaygyUVW/7ef0+6fLTRKB7ssiLIwGrdsfeBVWvfXv4rLlk/vGTqtRNsT3dvzx2wbh65eUoLr8qPttmQlKG+LEaZ7hm8qG03791ht+HTQRayFaKuNKL54aDCwCQIgAAIZIuBDwPQhxpT7SzJ2gYG9/zsv2q4+8Ie8aPvh2c4MeQi6AgIgAAIgYCNQbtyIy2+rQ465iNX1GmuFAdYgAAIgAAKNRyAudpabHkUwK7E2qo96GrOTPz5ustTzutje9fgfKhY+z67bqwSugXPdiZu06r/+rKz3UNoM7332vYoFZ5tdHLMTuLlvHQ19Fv1IWXvJwtGRE3uD9+KOpX8cd8Fa9bZ6D59VPn1pV2VzSMvufpj2/mpJ9RrqqeUNnc/GPjqYm778P/0r7Ztt/yEAP3qY3z07PnE7spe7Zr5Z1vuxL93oUKJtV5/9DlqpbOcXZ5Xguv6U/Yl9/OjmJO/c/aOmOfTCZ9ECsdRprs3zf6X7pn1930WshWirEfXhIl9rDjZBAARAAAQcEfAhYNZrjBls/WFetF2z73d50Xb1Wf/fI+HIfWAGBEAABECgBgRcxOp6jbU1wIsqQAAEQAAEQIAQa6vrBFt//GrFjxi+uKNDCVy9HV2JG7vsrodp3/PLE+e3ZWx7aXXFj3a22cUxOwEWbFm4rWQZPdOmRNuJW8nvyq6kvrRlWaxd9O+mEYu3lSyr/uIJYlGx0ZaPDj9BbV98ENttvhP50KtrrPm4/Dst/0C3bvdb0+Ugi+IsjiddWKxlu5f6OyKLsFjLgiuLt7aFBdt1Cd65+x/emEe/2J7+3ci2uqtxzEWshWirjQwu8jUY2AQBEACBDBHwIWD6EGPK/SUZu8Dw5y/R0KHHlXC7vnV+XrT94AxE2wx9RNAVEAABELASKDduxOW3VpI76CJW12usjeKCNBAAARAAgWwTiIud5aZH0cpKrI3qo57G7OSPj5ss9bwutvl9kJ98f15FpnraTiuB6/Keo4ntsFjT3rQ2cX5bxs4/fKzqHR/2+65NW9vr8Rg/Gnm4bVNFTb/9RacSbe8M9lVkp9qF+bHILNryY5IrWfixvfz43kZb3j/4MHVeXh/ZbXnn79F3PrHm4/IsrvI7aKMWfvw0n0+SLie7tyu7/JjkqIUfi8yiLT8m2bbwo5FXHYp/5+6fvd1ED2/6yGYi9ph5/q90P6pCF7EWoq1G2IeLfK052AQBEAABEHBEwIeAWc8x5ubROUq03bj3N3nRdsXpw45GB2ZAAARAAARAAO+0hQ+AAAiAAAiAQLUJuLgurufr2mrzXfOtp+nThxdUVM2N05eUwHXu4/2J7NwevKXyH1u0JVH+sEwnVuxQdoavXA/LguMOCQxsW0S3jqR7zKs04/alk4Foe70yMVTsVWt9YvmnyrdG+gYqqmLT/XPp479/oSIb9Vf4S1rSOo1YHI1abl65phifWrXbmk3E1d4YcbVz4UZlZ2zoltWOebDz8oZEYvCbh1qVaHv6uv0HBknfufuNpW/SP69732yGd/suYi1EW21Y8cVDg4FNEAABEMgQAR8Cpg8xptxfkokLDJ98XYm2W1p+nRdtl51ql2SsQQAEQAAEMkqg3LgRlz8Kk4tYXc+xNooN0kAABEAABLJLIC52lpseRSorsTaqj3qasDPXeh6X2yu/NpP2/OKdikwOd/cr0eTk+zsT2bl5qU/lP/3hnkT5wzJ1bdiv7PSfvBiWBcddEbgzTjc2vUkjxysbs/Gec0q0He8576plVbFz5M3gLu47t8crsr/9J6/Rmr96qiIb9Vb49viwEkXj3hl7/cRF9fk9v7nN2sX8Y4xvRD/G+OTKncrOzcvXrHbMg4cuBI9dHh2PfkT3S607lWh77dawaULtJ33n7ndWLqLvrnrXaiPuoMQByVfpvtixrV3EWoi2GlkfLvK15mATBEAABEDAEQEfAmY9xxgRbbfv+WVetF166hDtvGx/H4WjYYMZEAABEACBBiLgIlbXc6xtoKFGV0EABEAABCaJAGJtdcEv/dOf0P4XVlRUyfitUSWa8B1vSZbrn19Q+b/YYhdrktjgPPLe0e6Dp5IWQb6UBL4cHVZi6+ipZHdTh1Uzfu2SssN33Pq88PuS3/vKjytu4u6fv0X8w4hGWoZGe5VoeylGbO0+cEqdB660HLfi4fL8eOSua63WdDnId/jzo6xZBE6yiNgal/fZnZvpjxf8JjTbIXnn7lj0O3e/v3Y5/felfwi140uCi1gL0VYbTVzkazCwCQIgAAIZIuBDwPQhxpT7SzJxARZt+W/nrpl50XZO23Z690RlF4ZiH2sQAAEQAAE/CZQbN+LyR/XSRayu51gbxQZpIAACIAAC2SUQFzvLTY8ilZVYG9VHPY3ZyR8fF5ay1vNWuv3lxJdK7Di8YF2lptQ7JfndkkmWq/tPBGJN6+dJsofm6T18Vtm58ClegxQKyVHCxM3+QGztqoz1nYG+wM4Xyd9/7KgLZZnZ++x7tOKe+PeVxhnd9/xyWvLVh+KyZSr9+vAXSmyNe6zxhe2H1ef32lH7XddcnkXbuMcs87u0WbTtPpDshwC7T/+elu9/MJb5Y1ua6U8Xzg/NV3jM8uXQPJzw040f0T3vNEXmCUs0z/uV7ofVw8ddxFqIthphHy7yteZgEwRAAARAwBEBHwJmvccYFm1bdv60SLR958RBRyMEMyAAAiAAAo1OwEWsrvdY2+g+gP6DAAiAAAhUlwBibfX4jt64qcSO4+9urbiS5X82nfb+akkiO19sbQ/EmuNfJMoflmng7BVl58zavWFZcNwRgTs3ugOx9cKxiixODA8oO6NnD1Vkp9qFdz76Bn34zVkVV9PetFb5KP9AolGW7sETSmy9cetSZJfPrGlRbAa/6LHm4/Is2rI4GrX0dnQpOxe2JXsd2rYTL9OqQ/GC/AMbVtH/t/h3oVUnfefuz7dtoP/4xkuhdnxJcBFrIdpqo4mLfA0GNkEABEAgQwR8CJg+xJhyf0mmuwCLtq3bf1gk2v7heGWP89HtYxsEQAAEQCCawIYNm+mhhx5XfwsXBhN5/f03iLdHRkaiC6dMLTduxOWPaoaLWF3vsTaKD9JAAARAAASqTwCx9jbFTRT7EGuTegJ/L5E/LmN+T0lqJ0k+Fkv4DrUzaz5Lkj0yz+pvPEm7Zr4ZmUcST3/0map36GKfHEq1HukbUHY+X7ItVXkUSk5gvO+CElvHrpxOXsiS88uxUWVn5ET0I28tRWt6aMuPXqH1U2dXXOexRVuUj472D1Vsq14MXLh+SImtt2IeG3z8va0Bmxs3rV3j8iza8jtoo5aBc93KTtLz2MZjz9O6jnhB/u8/Wkp/tfytfNVmrOXHNnP73loxP/K69vndW9W7cQdvj+ZtJd0wz/+V7kfV6+K6Ni4WJ0n/P6IaWU9p9fTFo564oq0gAAIgMNkEfAiY9R5jWLQ9sO3+ItH29aP4Fe5k+zbqBwEQaAwCXV3n6bXXFuYvYrdv30V8rNqibS3puojV9R5ra8kbdYEACIAACBQTQKyNF2x5khixtthvZI8fS8qibdI71KScbd38t7+mrQ+8aksqOXZscSBk3R4cLkkr54A83rnjd83lFEPeFARuXzkdiLa9ld0dzVXf+GQh3Tq6K0Uraldkw9/Noc3TXq64wtMf7lGfscHz9rtJK67AQwNn+z6jxXvvj23Z4QXNik3UXchsp/Xc4khbI9cGlZ2kTwxgwZaF27jlWyvepv/1YfCjY1usbTuxJRBtV87NX+/abL66b7cSbS8PDdqSvTnm4ro2iSgblweirTcugYaAAAiAAAjYCPgQMH24uC33l2Q6y9EvVlH7tr8vEm2bOiv/FbFeB7ZBAARAAATsBFicnT37JSXUSg6+u3bevAXqztvHHntKpfFFMG/zHblyN65cGM+a9bw6zmWS3plbbtyIyy9tt61dxOp6j7U2LjgGAiAAAiBQGwKItdkTbfl7ifyxF5nfU1x61pWW40rsSPouyKi6P/nBPPr471+IypJPO/yau0fGvvcfH6QDv1mZt42N6hC4feGYEm3H+69WXMHg9nfpVoffd0d/9D9+STse+X3Fff1iyyH1GevrPFexrXox8PnVrbT8QPw7Y/e/+D4t/dOfRHaL7ew69XpkHvnxRtJ3c3/QNoP4EclxCz8a+Ufrg7t8bbH20rVjSrR95uWH1LUsX7/armvnbftEibY/fTb717VxgmySdIi2cZ6JdBAAARAAgUkl4GIiOElAjMrjw0RyJYMw3n+EOrd+V4m2x/fPUut5BzfS+MREJWZRFgRAAARAICEBXaTlR0rxIoIsp/EFMAuyvOZF7sblPCz4ynEWc6W8yujJPxexut5jrSdDgWaAAAiAQMMSQKyNF24Ra+0fj/OfHFSC0vUTF+0Zyjj66b/+jtb81VOJSuyfs4KW3fXTRHnjMr3/Xx6lz2YtisuG9AoJjJ5tV6LtnaHrFVoiGty5nG4e/LhiO9U08P69j1LL0+9WXMXVfSfUZ+xyS2XvAq64ITU0cOTSOlp16NHYGvf84h364GuPR+ZjO1s/j38f7JI/+Rfa/8KKSFuSuGz/j2n36XhB/qt/eIUe3bxOiqkfEMuPj/m69MbIZSXavrHyGZUWdl37u53blGj76cnjylaWr2uj5peTpkG0zbscNkAABEAABHwk4GIiOGlQDMvnw8Wt+cviuH19LL8c7aVrH3+VXt+3jK5svEeJtnMPbqILm/6crn6xXs+KbRAAARAAgSoT4AvUQ4c6ikRb/dfI8u5bMw83i48lFW3j4kS56VFYXMTqeo+1UXyQBgIgAAIgUFsCiLV2AdeHWJvUE+R7irlOWr6cfKc+2KUEpZtXrpVTzJqXBZiVX5tpTTMP7nnybfrg6z8zD6fa//Cbs4gFYyzVJTBycp8SbSdG7e8fLaf2oZbVNNS6ppwiNc/73p88SAfnRr9LNUmjrh3/Qn3Gzm06mCR7JvIcPL+C1h7+RWxfPn14Aa399tOR+djOxqPx7xZmkZ3PQXHL+J1RWrT3n2hvV/Qjl4fHxuj/fO1FembnJ1aTHGv3tX0WiLarf6FE27Dr2sUtweORN50MhPssX9eGzS2XcxyirdXlcBAEQAAEQMAXAi4mgssJjLa89XRxGzZu17d8jT7eNYvOfvINJdq+0LZNCbl9G++mL+/cCiuG4yAAAiAAAhUSMC9I5VfFUXfaSpV6Hj4mk9CS7svaRazOQqz1ZTzQDhAAARBoNAKItXaR1ry2Ray1fzKOvvOJEpTGhiq/LuZHnS756kP2ioyj23+6gNb+z2eMo+l210+dTZ/8c/ydeOmso5QQuHVsN93Y9CbRxB05lHp9c18zDe2pXBBN3YCYgvK43Y7fV/5D/6GLfeozxj+QaJRlb9eiREKreqT696Ifqc6C7dqOeAGYH2fNInDcMnz7uhJa276IfqT61ZtD6u7YeXt3KJO2WLt+w0Z6p+Wf6M21T1jvtJW2rNq/T9laffSwOpTl61oz9qbZh2grnoM1CIAACICAlwRcTASnCZB6GR8ubuUXxjJIcfuST9YDe76nHpF8bMt36JOdT9DRrd9Vou2VTffQeH/wpUnyYg0CIAACIOCOwJUrV5XYKnfQ8gUqL/pjHPkCWP9Vsu09t/q7bpO0Li5OlJseVaeLWJ2FWBvFCGkgAAIgAALVI4BYmz3Rlr+nyB97jnxvkbVLbzr06hpa/O9/6MTk4QXNSpxiwStu2fT9ubTxH34Tly1R+uZpL9P67/46UV5kSk9guGM7DWx18xjq4UOf0OCOpekbU+WSI9cGlS9/vnR7xTXdHhxWto6+bb9js+IKPDSw89TvEj3SuPlvf01bf/xqZA/40cir2mZE5uHEDX83hz75/rzYfDduXVKibeelaEH+1PU+JbS+0bZX2QyLtUv3PUC/X/sI8fVq2HXtxvY2Zevbs36p8sk1cWxjtfO/5DXjQLn7Yse2dnFdq88np92GaGsbHRwDARAAARDwhoAPAdOHieRKB2Ts2n66sePbSqjlRyXLX9/Hd9GX45U/2qfS9vlavqfnGo2Pj/vavLpqV19fP/EXViyVE7h+/QaNjIxWbggWaGBgkG7erPyuimqhNO+0rVY9ldp1EauzEGsr5djI5a9e7aWJiYlGRuC071ev9tBEAsHAaaUZNnblSk9eMMpwN2vWNd94ItbWbOi9rWjf7GW07O6HnbTv+HtblTg12j8Ua2/dd35F2/7lt7H5kmTY8cjv6cO/fDJJ1nye27fHqK+v8nez5g02wMZw2yYa3LGspKcDA0N08+ZwyfGoA7eOfEoDW+MfZRtlo5ppA+e6lS+fbW6tuBq5a/fQ/I9ibXV399GdO5XfyRxbUZUzbP18Hu069XpsLau/8STtevwPkfnYDr+DNm7Z8qNXqPlvnlPZxsbGqLfX/vnuGTqlRNsT3dsiTbZduaSE1mVHD0XmY0E57p27uzqPKFuvtfp9t7WL69q0Qq1eDqJtpMshEQRAAARAYLIJ+BAwfZhIdvHLscHWH9Lg2SV5wbZn85/T7SubJ3uIva4foq274YFo644lRFt3LLMs2pYbN+LyR1F3EauzEmujOCEtnABE23A2aVIg2qahFl7GN5ExvKX1keIbz0pE27jYWW561AhmJdZG9VFPY3byx8dNlnreSrd3/2whrfqLJyo1o8qfWdOihK7B8z2x9lb/t58T1+1iaXn6XVox5ZGyTEG0LQuXynxz3zoa+mxVScFUou3xPXRj4xtEd8ZK7PlwoLejS/nyxR1HnDRn2V0/pdZfx99ZnBXRduPRX1NrzDtjGezyP5tOrc9Fc2E7i/beT+MT0T/c3vnoG7T6Gz9X4xUl2l7q71CibVdfcAdt2ADvOH9WCa3Np46HZVHH+dHNce/cPfj5CWXrxd1bI23ZEs3zf6X7tjrkmItYq4uvabch2sqIYA0CIAACIOAlAR8Cpg8TyS4G587QGWVm8OAjdGfwpAuTmbcB0dbdEEO0dccSoq07lr6Ltu56Wl1LLmJ1VmJtdUln1zpEW7djC9HWLU/fREa3vau9NfBMxxyxNh23JKX4btd1f/2rJFlj81zYflgJXX2d52LzLv9P/0p8l6+L5eDcD8p+xDNE2/LJs2DLwq25pBFtR08doBsbf08TI34++ezynqPKl3sOnTa7m2r/g6//jHY9Hv8jhayItixkxr0zlkHyo9kPzf8wkinbeaflH4jfRRu17H32PVr+n6erLFGiLYu1bO9if0eUOWKx9o+a5hCLt1FLknfujoyP0x8veJGe2eH3I7JdxNq0Qq1eDqJtlMdNZtrEbRo+dZCurdxIPa8soe5X1lDfyt3Uf6qHbuOpUZM5MqgbBECgxgR8CJi1mkjW32e4YUPxHbDl/pIsapj47tovx+Mf1xRlo1HSINq6G2mItu5YQrR1xzLLom25cSMufxR1F7E6a7E2ihfSSglAtC1lUskRiLaV0CstC5GxlEklR7LEMy52lpsexbWeYm1YP6Kud80yzE7+OM1kaebX93ev2k47freMWraU3hGp55Ntfq/spvvnym5F6+4Dp5TQdbnlWKwdJda8uiY2X5IMR97YoOodH0n+OhqItknIFucZ3LmM+BHJ5pJKtO06rETbO0PRQpxZV632z328X/nUjdOXnVS59r5naeuD8Y8Dz4po+0HbI9R5OfqdseO3RhXjo2+V+pQOne2wyMrvoo1a2l5anf/xRpRoy49FZnv8mOSoZdnRdiXatl2Nrnfr5y/TqkPx79z90z+8Qo9uLv3Rg96G44f20ZIZz9Gymc/TiY6DKsk8/1e6r9dnbruItbr4mnYboq05Mh7sj5xpod45b9PVX4T8zVlD188MUf0/3d0D2GgCCICA9wR8CJi1mkheuHAJHTrUQSMjI/TaawuJL2qxTC4BiLbu+EO0dccSoq07llkWbd1RirfkIlYj1sZzznIOiLZuRxeirVueWRIZ3ZJJZw0803Grp1gb1sPS690vwrKmPr796c3U8i/bac8PP6PPHthF+96dHWtr7f98hrb/5LXYfEkyXD9xUYkw5z8JxIawMmM3RwKx5h03d519vnS7sjfc3R9WZclxiLYlSGIPDGxdRLc6tpfkSyPa3r5wPBBtb3SX2PPhwMn3dyqfutVzw0lz+McRH3/vxVhbWRFtl+5/gOLeGTt8tV8xPvVB9Htek4qsR978WNkbHx6lKNE2qQj8RlurEm1PXe+LHLddp5O9c/dr775OP2peGWrrWFsrLfrqg7To/3qA3v2/H6Llf/4YnT7aHpq/GgkuYm1aoVYvB9G2rNEdp8ELZ2jZ2wdo6lMt9JUngr+vzz5Az284Q2cGx8uyZss83LKGusPE2qLjS6inpQfCrQ0ijoFABAEWw375zLO0dl1zRC4k+UTAh4BZi4nk/v4bNG/eAuI1L3ynrX63bbm/JLt8uZvwBwbwAfgAfKCxfECP3+XGjbj8um1z20WsRqxtLF/FuQnjDR+AD9SrD+gxMC52lpuu2za36yXWmu2W/bjrXckna2FnriX9vQfuo0b9e2vWVMLf5DJYOGsqufjDOE7uOFaT/7tP/w0teOJ79PJj98f+vTLzfnrZ8teo5zju97v/4ce0/L/MoI+ee7XkSQsSFyQelLsv5WxZQEM3AAAgAElEQVRrF7FWF1/TbkO0tY2O7VhfF70xr4XumdNGi3ZdpIuDAzR4e4xGbw7Q4OWLtP6jNvrHWS00bWUX9abUbm8f35xQsJU7cJdQ3/Hkj72gw01095R7g7+mTlsvKzum2+d6ZjRTye8wuptp+pSZtKboR0TXaM0MblcTFT1JPYm9pC0uqbeT5k+5l+YfNg0EbZnefC2f0Nc8k+4uaXOQ3NHE7Tb7ky9ashHkN/pJRPpxVZ+NXYk1lwcCHnn/UH5S2k4iW757Kc9Lcdb2pYlFx0ttSLZqrEWk5b59+zvfpd27P1PrpgWvV6M62KwCAR8CZq0mkvmXx+yzvPAdt7poWy7aep0EQbsxgQcfgA/AB9L7QLmxwlV+F7EasTb9uOMzA3bwAfgAfKB2PuAqdpZrp15ibVi/WLTVr3fb2vh6d0tY9tjj8Pna+TxYgzV8AD5Qax9Y+qc/oZV//jitm7MgNh64zOAi1qYVavVyEG1jR3WcBts7aOqsVpq7rzfIPXGN2re20yNzWmlqUzutPpYT+MZ7aee7rXTP7A5qLfeu24nLdG2uiLFlrOfupqFE77gNhLK8uKZ6wseSCY6BcJkTfE1xlYhswqYuROYxl4inOcHSEClt9tSxtGJzSb0Bj+SirUWIzAuYyRgGDGz1Fh9T/TR45PlVbaO4DVxNMAamsF2aj3KCrLC0tb/4mMVG1fpF6o7aH0x7gPpvuHmch62pIgwfbDtkS8axCgn4EDBrNZEcd6et+esxRmse433zWIVD0NDFe3r6aHwcLyRw4QTXrvXT6GgZPzZzUWlGbeDxyO4G9saNQRoevuXOoAeWJAaY8UCOSxP1/bBtyRu3dhGrEWvjKGc7HY9LdTu+eNy0a549NDHxpVujDWwtC593iZu8lm0eUn3b3NfT9O2krlAvsTasP0nutNW56Nti03ZM0mS9+8VP6cDju6n1kX20/9FWalv5iiRhbRDA45ENIBXs4pUrFcAzimbl8chGt2q+OzY2Tr29hZvSat6AFBWe7GijFf91Ji2/91Fa+fXHafVfP01njx9RsVU//+vbXI2+H7adtDkuYq0uvqbdhmgbM2KjnR1035MHaPXlsVzOftryeuHRyPKI5Cf2yDsDxujiJwforuc6qD24WSqmhiD5ztGN4e+wLXoscqmg23c0SRU2oYyPxQuOgXhXuOvS3DdFO701SrjVhVZDPC2xxYWNPLq91NslNm082Lr9TtvpTU003RRS+U7gGU00f0Y8Q73dxQJmThzVbJvpetnqbdt5lI6PPV/xOJt54var1yu2zI9B5schy92L1agNom01qBZs+hAwazGRzD0ufccP3mlb8ITJ2cI7bd1x7+u7TjwxgKVyAhBtK2coFrIo2krfarl2EasRa2s5Yv7VlQURxyeqEG3djgb8EzzdEkhnrZ5ibVgPa3W9e2DjXtq3tJkO7dkY1hQcJ1LXZnyNhqVyAhBtK2coFiDaConK1vUo2nKP+R22a55vonUv/o66TlThSbExWF3E2rRCrV4Oom3UQI2co7nPtdLczsFCrpOd9M3cu2xFsFXrZzrpeD7XILUvaaX7Vl3MH4nbGPxwcWrR9uqH52LMB6JZ4dG3TdRhPnrY+qhgNlsqYsqxojsrLXffqkapegqCb5Egm2uD2JFOJBUtA0FR7v613QkrFm1CsCkkSt7S/qp6mpppjSHOslA5vbnZEL6D8tyn4E7joH2ldzjLHayl7Qjrf9BfjaVqclDf3TlhPI5JcbouNpe2Q5k37qKVxyObY1Ys2hYL0aX9CalLhsDhmgXbgt/fqwRcEVjlnbayz3fJ8iOTJb+k683R00UI7uo6px63LOV4zWXFrm6H7/blu37ljlzJk7ZuvW1Z3vYhYNZqIrmr6zw99thT9NBDj8c+Gll+PcZr+WM/mJiYUH9h6ZIX6cHdEnE8WLQdGxvL/3IvLj/Si/1R5xGItreL/FVPZ//Ffjg/nQ/ftTwyMgpexvkvjf/09w/k77RNU17K6OPDx3zeV40zfpEs7ZU0276eZm67iNWItYW7tcSvfPcll+1jUYy/w4jvCQPsp4uNV6/20J07wZNChKXL8RKbjTI+8E+356fAP7P9eVcnswaOtdJ/c61f765fv9lMzn+35QQ5Z0kmOe/Icewnu26I4sVPQRLRFjwr48mi7dDQzbzfgmd6nt3dveo7jDCU8wH2y4vF/IN5udNW2PE6Szz1+CDb0r+ofT3N3HZxXauLr2m3IdqaI6PtD7a00VdePkG5hyKrlN6t+6lIrM0LuPtpdY9W+OpxmvZEB7Vrh6I2B5aV3kF7NeYO23z6spNRpnNpFqGs5O5Tm5mCCKmn6iKd2tbuFNXzldyFm68zaE/pe2+LRcgiW/oOC776HbxKANZFSD2zC9G2Uz0uuCC+cvu5PllLfbn26yK4pW1KyOT2c5rBrlTkLLZdaIPRrzgmefY5e7yfr9viHypb0J9CnZZ8lv4F4i7zsfmPxYZ0sQprFk1FYGXzIpSKmCr7LLaKmMprfv8tC7KysGCrvwdXt2uKsbZ6+JiZz0Xd0r4sr30ImLWaSM7yONZr3/B4ZHcjhztt3bHEnbbuWOJX8W5YuojViLVuxqJereBORrcjx6IYHufrjin80x1LtgSe6Xgi1qbjhlLhBFhM6OuTJ0eG50NKPIGBgSG6eXM4PiNyxBLAnbaxiBJlqNc7bRN1roqZXMTatEKtXg6ibdQg2+607eygu/JCrfaY5Cc7qD3/btncnbYrztFolH0t7caSCkTbJccp/m17FqHMFPG09uibJaKsEunuzYumuoCrlwu2jXpVnbm7Y5uaaP4U8w5ZUyQstWg/YtRjZirpa5BfvztS3y6IlLm7Rllg1UXOvNjKdnSx2NZ+S9s0DuZdq+GibfEdrNzFvPhr9lftG/WqcTPv1JWCRl45XHKndZBPZ8XbOi8pqvxiyr0lonTY3bpSzvVaF1fZtgilpmgr+5zHFFdZvJ3+6Myi9+JyHj7GaWZ+Wz02u2ZbbHni6uYyWV98CJiTOZEc9Ys4PU225S4V8Qv5JR32AwLl8ghE23HBl//lrBwo114j5w/eaVv8zaiRebAPpe2/iLZpy8N/AwLMT388clZ5cr/kT8Ze/E/vs2yba71M2LaLWI1YW6ArYyBHGmFfF3Eaob8ytryuRn+Zp4i21bBf7fb7Zl9/3DR4Fr/bNw2PLH7emYP8mf6rM5Jtc62XCduu91gb1i85LkzMfTnO17m8rf9JXl5LPjmG/fjPqv5OW/CK5yW+ZfM3vqa4efNWPgt4pufJd9qOjxcrHeBZPk9dtM0KP+6H/OU/bLnzv95H2TbXepmwbRexVhdf025DtA0bodzx/Dttr+YmbCe6afV8TazNCbgPbe3OlRini1tz77S9HWNcS67u45G5IosoFydk5u9kDYTIvFDX1Bk8+jeXXiLqav2y32nLom0gHirRsejRyrm68nXrxkq3g/IJHpEc0ldTMJVHP+siZEEY5bYFAi0fC/Iw1xSiLcnjk0tFVFVf/g5Ys896fQErsw9RTMoXUgO/KfCw+JH0xWxzTpgulJW+BDby/jTlXkmoytqFaMt33urtlW25G7eaom1c3VWB5plRHwLmZE4kezYcaA4IgAAIgAAIlBBwEasRa0uw4gAIgAAIgAAI5Akg1uZRYAMEQAAEQAAEqkLARaxNK9Tq5SDaxg7vOA22d9DUWfvpt225ByWPX6GdSw7Q1Oda6b45B2huy5XAyngvta7YT/fM7qDWwcJdObFVENGdoxtTv9O272iSGixiW4mQmcROkIfFPxHjApGwVHxUOc27O0vqLBVpI0VgaWJOECw8WjiwI22SbPl1Sb0WHipzqR3Vv5yIzNvTmzvz4m3hMcBSU2l5q2Aud8maQmfEcakhz171SeNeBpO8eJsXx0N45GwWhOGQfOpHAbp4za2Nyivv9JVeVW/tQrQ1bZitraZoG1e32ZYs7vsQMDGRnEXPQp9AAARAIPsE5NfFek/lmLnW85S77SJWI9aWSx35QQAEQAAEfCAg8VRvixwz13qecrezGmuFkY2HnqZv2/LiGAiAAAiAQHYJ2GKAHDPXlVBwEWt18TXtNkTbpKN4+QQ9PbuF7pnXTqvbL1PvyFiu5BiN9l2m1q3tNG1WC01deIIulqfXBnYmLtO1uSkekTx3Nw3lH8sc1RmLgFYiZEaV19PYli7QWWyr7KWCbHDnrV6Wgve66vYStEuJjnnBkSuziaVam03xOFRQLLWji7Zy53Dhfbomi9LyYeKlsptCtJXHNHc0z8w/opp7WhkT+xiqNhbdCW3PJ1wK4i63KCRv6HFtvBxumqKn+Uhic5+rNkVYfkTxD6b9qOgdt3oTzfyclsRukjxxdevtyOq2DwETE8lZ9S70CwRAAARAwAUBF7EasdbFSMAGCIAACIBAVgkg1mZ1ZNEvEAABEAABXwi4iLVphVq9HETbcjxiYoDO7DtKzze10j36e21ntdIjbx+lnRcGyrFWkvf28c3U/YtyhNsl1Hc86TOYbQKa7VhJs9S7XNccluMWIVbuDp1SfPdkcDendicom7AKsqU2A7GwWNzVRU5lWxM8g7oKd/9a04tE3rC+l4quqt582SC9IE6yHb2dpeXDxEu9P0KX12HHC3lyvGy8I5jQ4ab83dGl9ZTyUO0w6rD3Jdcere6graU2o48Xeuhyy4Voy+1pWvA6/WDaA/n32rLgeuz4cdVUm/gqZX75zLNKwJV9frQyP/KYF1s5mwAcVbcylPF/PgRMXyaS+ddj+h8Pve3dPnoebBczAw/wgA/AB+ADpT7A8YS52NbqYMw/F7EasbZ0XOCrYAIfgA/AB7LjA7YYK7E3Jsyq5CzFWumv9B9+nh0/x1hiLOED8IHJ9AEfYq0uvqbdhmgr3xQ8WQ+3rEko3C6hnpYeKn4td1Qn7AKaCHMsJIU9Wpjv6Jw+pfDe2MJdpkZ9uUfpyvs+C48u1vJZRVsRc402qLtjtXpZFOy+Rn3KXNAfqYtFVBZq9T6IkBvkMcTj0Ls9S0VXxSgv2mp9ybejCqKtzju3XRCKc8Ju0R2w3JhoJh2Hm2nNDI1nUfnisnZmpXUIf7tP2H1O2qn3x6Tqct+VaMttYvE03+cp99LbixbnBVn93bOcjxcRYKUM5+G0ckXbuLpVZRn+5+LiNG2QlHK+TCRneJjRNRAAARAAgTom4CJWI9bWsQOg6SAAAiAAAlUngFhbdcSoAARAAARAoMEJuIi1MpdcyRqirYeOOHKmhXrnRNxxO2cNXT8zVIZg62En0aSKCChBOlRIrsg0CoOAdwR8CJiTPZHMv1IzF/OYuW/mxz4IgAAIgAAIMIGk8SJpPrbpIlYj1sI/QQAEQAAEskIgaQxNmo+5ZCHW2sbXZFDuvs0mjoEACIAACGSfgBkvwnqcNB+XdxFrKxFrpSxE27DRnOzjE7dp+NRBurZyI/W8soS6X1lDfSt3U/+pHrqd6B22k90B1F81AmF3K1etQhgGgckl4EPAnOyJ5MkdAdQOAiAAAiAAAtEEXMRqxNpoxkgFARAAARBobAKItY09/ug9CIAACIBA9Qm4iLUivFayhmhb/bFGDSDghoD2+OlaPVrYTcNhBQQqI+BDwJzMiWTzF2H6Pm/r+5WRRmkQAAEQAIF6J2CLC7Y4kTRfUh4uYjVibVLayAcCIAACIDCZBJLG0KT5kval3mNt0n4iHwiAAAiAAAgkjaFJ8yUl6iLWViLWSlmItklHDPlAAARAAAQmhYAPAXMyJ5InBToqBQEQAAEQAIEyCLiI1Yi1ZQBHVhAAARAAgYYjgFjbcEOODoMACIAACNSYgItYK8JrJWuItjUeeFQHAiAAAiBQHgEfAuZkTiTzr8Z4kXXYtqTLr8z0fb0M0oO7k3U+GzZsoYceelz9HTrUoVhz+ltvLVHHZs16nq5f71fjcPbsOXrssafUcS6n2xHOwlj2zXUjpC9c+J7iJ3x4nxkLSz7e1XVeY7mZMeXZSznbmo/Zjmet/MjICM2b91qeW3//DdVvkyX3+9atWzRv3gKVl8vwvvAw143CT++3/rnV+fDnvfDZP6L4BiwD7pyXx0H3t3rgNzERvEtFb7fwiGo/5+FFyuV2E61cxGrE2gJ7GScZC9ta8uhjpufzMX3Dhs3aZy6It/q5Tv/M6Z9bLmf208f+TQZ/4SffSWSfz206TzPmgl/pdwn+rsffU4Qdx4MwnvDPUn6m/+sxlr9Tc3oYz3r0T8TaRF8PEmUS35HMYftyXF/ztr6PWFH6XUK/TpBrMeZUfB4rXNea1xrgWzwfwzwOHTpSdF3L+4Vrig7lysXXFAus12eN7L/FMbfAx+Z/ZoyQz3kj85O+81rmrdgHOfZm6fNdr7G2ErFWykK0Va6MfyAAAiAAAr4ScDERLEEv7XoyJ5J9HZestIu/1PJEJy98MTB79kt048aA2n7ttYU0MjKqvvguXLhE5eE1l+HjnM5lsBQTYJ7MZsmSD1QCMwLLYkZJ9pij7pvHj58M9Uv2SfFRvVySehohD/uifFaZj/kZ5s88i968Bst0HuEiViPWpmNfL6X4s6Wf0yTehn3mEG+TjSxz4j9hC57JuNlyic9xmsRc8LSRij/G35OZJ8dVXiQOg2c8u6gciLVRdJAWRkA+f5zOsYI/m7zIOU+/rg27bguz3YjHmRFfN/D1LZ/jdH64pkjuEeJ/XEJibpj/SV6ddfKasp2Tmcm8C/sfs5IYzDFXZxbGN9uEyu+di1ibdu5ZLwfRtvyxQwkQAAEQAIEaEvAhYE7mRDL/co6XpOuoX6KVYydpfVnKx3cy8i87+Yst39XDF7XcPz7OF2bnz19Qa7njkdNtd/80Mmf+xTZfwB47doKWLv1A8dM58S9qX3ppAZ0794Vayx3MOu9G5iefp1u3RpQvCh85rnMSvxS/5V94cz79YkzKNfqa/fLRR5+iVavW0a9/PU/dOW9y4s9+WxuL38Ga/VD8mcejnvxSjwM89rbxtx1XndT+STntUOimi1iNWJs81svY1Ouaz238WZNzHX/2eJHP3JUr3YgRCb776ecs+c5iO4eBZ/x3aYml/B1Q/1yBZ/rzEvunxF7+7pe1zztibehXgsQJ+meNC/G+/Mm+vhbmsraV1/MjvfTcx9cLfD2hX0cwJ7lekzVzlOs283qkkbmKAMYiI8cH5ijfXeR6gY8zZ1kzL/O6o9H9NCzm2vwP8waln2PTf9jX5IcEWft86+d7/izZzj+248xIX6Scfixs28V1rS6+pt2GaBs2QjgOAiAAAiDgBQEfAuZkTiR7MQgN0gj+gsu/RuRF3+ZHufEvFlm0DX65GAg4nJfzYQkI6Bf/fGHKoi0vYFm+hwQXskuUAM6POeJHmfExG0s+zqyZOS9Slv0WS0CAuckjy/gzzIvuo7wvbMEyYFbufxexGrG2XOr1m18+b9wD22fu6tVuxNuY4S1MAI+o7y7MFDxjoEUkM0+ODzzpyfGC1xxH4Z8R0GKSmKfEXvhnDKyEyYi1CUEhm5WAXNPytYJ5vSDXtXp81vNbDTbgQT6vBXcvBvMDzBHXFOU7QljMtfkf5mCi+bIPyqsd+DVezBaf72hmcakuYm1aoVYvB9E2bqSQDgIgAAIgMKkEfAiYmEieVBeoSeV8gSBiDlfI+/zHC3/pNe+0NfOojA3+jy9gZXJO1swULMt3DLn4Yqa8CENZ8zHxS7kok7x8oRY8jhqirXBiPxQRWxianGQSRtZc1szDx7DYCbiI1Yi1drZZO8qfQf6cyWL7zLFoy3GXz2+8yOdWymAdMJFYK2tha8YD8Iz3GD7f86Qnr3kRv5Q1H5OYAJ7JeLLgLYtwlDV4Cpny1oi15fFC7gIB/h7McVXig34dwbkkzsqaj5l5CtYac4t5iDgmcZf3jxw5VnTtJec5WTMtiR9yPdKYBAu9Dou5Nv/Tn3bGFvQ8BYuNu8U8zM91GDOdHT7f4T7jItbq4mvabYi24WOEFBAAARAAAQ8I+BAwMZHsgSNUsQl8QcV/+qJfWPGXYEmXiy++4GJhjPNhKSXAXGSyDixL+SQ5Ir7GeeUCK4yl7qOSN0kdjZDHvCAVPvpnWM8Dlum8wkWsRqxNx76eSvF5TeKptDvsMyfnQP2zKmWwLibADPncxgt4FrNJumf6mfgfeCYlWJxP/77CKeBZzCftHmJtWnKNXU7ERj6f6Yt8LvXzn/7Z1c9/ejlsk/oxKPNjtjo/XFMk8w6dGZcQXwzzP0k3yyWrLdu55NqWe6n7n41ZGN9sEyq/dy5ibVqhVi8H0bb8sUMJEAABEACBGhLwIWBiIrmGA17jqviLKz9GRn4ty2u5oOUvurzPv6DlL8C86PllgrTGTa6L6piTiLbcYLAsf9jY5+TX3PKYxjCWfAHLedhf9bzl15rNEvyZls+4zkc/Lp97sEznAy5iNWJtOvb1UkqPn/J55M9d2GdOz494Gz3KzFEYgWc0q6hU3ef4ewsv4BlFLDqNfVI+6+AZzSppKmJtUlLIpxPQP4v8mZRrW/2cJzGEy9mu23R72C4WbZkHrinK9wrd/yRGsBWb/+l5dV8tv9bsldC/p/DnW65pw5jZ+GaPSmU9chFrdfE17TZE28rGEaVBAARAAASqTMCHgImJ5CoPMsyDAAiAAAjUNQEXsRqxtq5dAI0HARAAARCoMgHE2ioDhnkQAAEQAIGGJ+Ai1qYVavVyEG0b3hUBAARAAAT8JuBDwMREst8+gtaBAAiAAAhMLgEXsRqxdnLHELWDAAiAAAj4TQCx1u/xQetAAARAAATqn4CLWKuLr2m3IdrWvy+hByAAAiCQaQI+BExMJGfaxdA5EAABEACBCgm4iNWItRUOAoqDAAiAAAhkmgBibaaHF50DARAAARDwgICLWJtWqNXLQbT1wBnQBBAAARAAgXACPgRMTCSHjw9SQAAEQAAEQMBFrEashR+BAAiAAAiAQDgBxNpwNkgBARAAARAAARcEXMRaXXxNuw3R1sVowgYIgAAIgEDVCPgQMDGRXLXhhWEQAAEQAIEMEHARqxFrM+AI6AIIgAAIgEDVCCDWVg0tDIMACIAACICAIuAi1qYVavVyEG3hkCAAAiAAAl4T8CFgYiLZaxdB40AABEAABCaZgItYjVg7yYOI6kEABEAABLwmgFjr9fCgcSAAAiAAAhkg4CLW6uJr2m2IthlwJnQBBEAABLJMwIeAiYnkLHsY+gYCIAACIFApARexGrG20lFAeRAAARAAgSwTQKzN8uiibyAAAiAAAj4QcBFr0wq1ejmItj54A9oAAiAAAiAQSsCHgImJ5NDhQQIIgAAIgAAIkItYjVgLRwIBEAABEACBcAKIteFskAICIAACIAACLgi4iLW6+Jp2G6Kti9GEDRAAARAAgaoR8CFgYiK5asMLwyAAAiAAAhkg4CJWI9ZmwBHQBRAAARAAgaoRQKytGloYBgEQAAEQAAFFwEWsTSvU6uUg2sIhQQAEQAAEvCbgQ8DERLLXLoLGgQAIgAAITDIBF7EasXaSBxHVgwAIgAAIeE0Asdbr4UHjQAAEQAAEMkDARazVxde02xBtM+BM6AIIgAAIZJmADwETE8lZ9jD0DQRAAARAoFICLmI1Ym2lo4DyIAACIAACWSaAWJvl0UXfQAAEQAAEfCDgItamFWr1chBtffAGtAEEQAAEQCCUgA8BExPJocODBBAAARAAARDAO23hAyAAAiAAAiBQZQIurotxXVvlQYJ5EAABEACBuibgItbq4mvabYi2de1GaDwIgAAIZJ+ADwETF7fZ9zP0EARAAARAID0BF7EasTY9f5QEARAAARDIPgHE2uyPMXoIAiAAAiAwuQRcxNq0Qq1eDqLt5PoBagcBEAABEIgh4EPAxERyzCAhGQRAAARAoKEJuIjViLUN7ULoPAiAAAiAQAwBxNoYQEgGARAAARAAgQoJuIi1uviadhuibYUDieIgAAIgAALVJeBDwMREcnXHGNZBAARAAATqm4CLWI1YW98+gNaDAAiAAAhUlwBibXX5wjoIgAAIgAAIuIi1aYVavRxEW/giCIAACICA1wR8CJiYSPbaRdA4EAABEACBSSbgIlYj1k7yIKJ6EAABEAABrwkg1no9PGgcCIAACIBABgi4iLW6+Jp2G6JtBpwJXQABEACBLBPwIWB2dnbS+Ph4ljGjbyAAAiAAAiCQigDHR46TaS9IpRxibSr8KAQCIAACINAABBBrG2CQ0UUQAAEQAIFJJeAq1sr1bSVriLaT6gqoHARAAARAII6AD6LthQsXiP8g3MaNFtJBAARAAAQaiQDHRYmRlVyUclmxg1jbSB6EvoIACIAACMQRQKyNI4R0EAABEAABEKiMgMtYW+l1MZeHaFvZeKI0CIAACIBAlQn4INrKZDLfBcTtwR8YwAfgA/AB+AB8oEPdYctiq4sLU8RafKbwmYIPwAfgA/CBUh/ga1DE2lIu8BUwgQ/AB+AD8AFXPuA61lZ6fQzRtspiQ2rzd0ap50QHbVy4g9742cf04s+20bKF+2n3iW4av5PaKgqCAAiAQN0R4ABcabBD+dtgeBsM8DmAD8AH4APwAfgAfAA+AB+AD8AH4APwAfgAfAA+AB+AD8AH/PUBiLbeyRcTNHT6IL394Fr65d+G/D24jT49PeRdy9EgEAABEKgGAYi2/n6JwBc8jA18AD4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH3DjAxBty1IYxmnwwhla9vYBmvpUC33lieDv67MP0PMbztCZwfGyrJVmnqCeHdtodphYW3S8md7e0V1qAkdAAAQiCYyMjNAvn3mW1q5rjsyHRH8IQLR1E/DxxQkc4QPwAfgAfAA+AB+AD8AH4APwAfgAfAA+AB+AD8AH4APwAfiAvz4A0TapLtHXRW/Ma6F75rTRol0X6eLgAG12fYIAACAASURBVA3eHqPRmwM0ePkirf+ojf5xVgtNW9lFvSm12/EjuxIKtnIHbjOtPDKatAdEh5vo7in3Bn9NncnLOcrZ1zwzX//05muk9mc0U59pX7WziTrU8U6az20225vry/xPm2n6lHuJ7RUt3SHHizLJTq4OYaPWUr/kSbJOaseW716afzhJHZLHbkONr8lKimjrYCxsfbxGa2ZYeGtlozcj2mUbx2hjTlJFpGU23/7Od2n37s/UumnB607sw0j1CUC09fdLBL7gYWzgA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/AB+IAbH4BoG6s3jNNgewdNndVKc/f1BrknrlH71nZ6ZE4rTW1qp9XHcoLheC/tfLeV7pndQa3l3nV75yJtnCFibBnrGfvpi0TvuA3EtGJxk4/NpDWRN+zmRLwiQTMn/NoE1zCeORFVFyaTibZEpMrq7QzaJH2x2bEd62jKtbtElA3YlLRtSqmQGm6DO57UTmm+oI/F4nNxXUHbpc9WzFFCdS6tIH5b2qCMFh8vuw1FDSsep6KkGu7wHbU/mPYA9d+4UbVaRRg+2HaoanU0smGItm4CPr44gSN8AD4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH/DXByDaxigho50ddN+TB2j15bFczn7a8nrh0cjyiOQn9vTn0sfo4icH6K7nOqh9JMa4nnx4V/g7bIsei1wq6C47PKFbCtkuFuOCTHxMF0NDipYcttkqyVR8oER4pYR32gZmlHgod5AW3YnL6WZ7zP2c8KyJzErUFXsl5YM6VZ4pcjdqYLMgeuban0+3tcNmJyaf1kbuc6RIG5jP/S/tYyE5aPv0GTOL7lguYiqZDbbltUGMyNof0ZYfh8zCarUWiLbVIhvYhWjr75cIfMHD2MAH4APwAfgAfAA+AB+AD8AH4APwAfgAfAA+AB+AD8AH4APwATc+ANE2SmsYOUdzn2uluZ2DhVwnO+mbuXfZimCr1s900vF8rkFqX9JK9626mD8St3FmcXNq0Xb24q4Y8znBMX+3bBN15B4vnH9csuWu0jCjVrEvJ3zm7eUFUblTVrvLNSdM2u6GVXUawqE6lhd9AyFQvyuW03Vb+naoPZUg/0yRN3c8d3eqWZeUKr0DOKkde77idpcneKqyIQK8jJespf3F9QVHi/PEt4Hzs7CsypU8/thWPuh7cjFaWptuzXfZ5n1yyr3qPbYisMo7bWWf75LlRyZLfknXa9bTRQju6jqnHrcs5XjNZcWubofv9uW7fuWOXMmTtm69bVnehmjrJuDjixM4wgfgA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/ABf30Aom2E0jHY0kZfefkE5R6KrHL2bt1PRWJtXsDdT6t7NGNXj9O0JzqoXTsUtXn0jdI7aH8Zc4dtPv2Nk1Gmc2kWoTAvhCYoLlmsZUwhLhDr9LtSSwXOYqFVzKu1TbQlKgiD2t2ohXLcBr5rOKhbF1qVOKmLyIVCuS0LG5ViEx21wiUsktqx51PCZ75vpf3QajY2A3tFvCWHxrJYkBUxXb/T2qzT3BejhbWItTrvQqqdn00sLpRxv8WiqQisbF2EUhFTZZ/FVhFTec3vv2VBVhYWbPX34Op2TTHWVg8fM/O5qFval+U1RFt/v0TgCx7GBj4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH4APuPEBiLZRSoftTtvODrorL9Rqj0l+soPa808pzt1pu+IcjUbZz6dN0OHXKhBtX6udaFsi/Bl3uea7ZAqa5r6Uy9/9q92JW/LO2ZzV3N3BYXdpioB4d174DMrx8aK7QUvuCLWLqER20VH6qOorqiupHUu+XN8K4mdQt373ptmvonYUPaY5l2IwLx07o38qvzwOmm3Et6HUprSqUL5kvIx28eOtq7no4irXI0KpKdrKPucxxVUWb6c/OrPovbich49xmpnfVo/NrtkWW564urlM1heItm4CPr44gSN8AD4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH/DXByDaxqgd+XfaXh0Pck500+r5mlibE3Af2tqdszROF7fm3ml7O8a4llzdxyNzRRah0CKezddF1JK7Uy025A7YuLwldZV7p20gIM5vaqK7bQIld1HVUfoeWCUsFj3+2RArbWzU2AT9LREdOU2JrPpdqiGMrXYCu0WCbMmjjfmRw83UocoXbJfcTVsi9koBs4+5O5WNcdLvetW3AyvxbUgl2ppi+OEmaXRV1i5EW77ztni8gh8ZyN241RRt4+quCjTPjEK09fdLBL7gYWzgA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/AB+IAbH4BoGytOjNNgewdNnbWfftuWe1Dy+BXaueQATX2ule6bc4DmtlwJrIz3UuuK/XTP7A5qHcyJvLH2cxkO70r9Tttlh/O3+EbUZhFcLUJqhIGcKKrficm5c3djGmKgiMR5wdNSV6lIKCwswqwSJ7nuUjGy0GZLH3Oicr4duczFddvLiQhcuPtVb1+pOCx9LsmfE5MLx0PqK3TEvpVnIMlh7AsCtk1oLBK9VduCMWUB1uQkNeXXRhvSibY50Tt3lzLbqObiQrQ1bZjtraZoG1e32ZYs7kO0dRPw8cUJHOED8AH4AHwAPgAfgA/AB+AD8AH4AHwAPgAfgA/AB+AD8AH4gL8+ANE2qcJx+QQ9PbuF7pnXTqvbL1PvyFiu5BiN9l2m1q3tNG1WC01deIIulqnXKkN3LtLGGSkekTxjP31xJ0knLEKhRUiNslQsdBZyWo+bts19eTxy0eOFczYNYVDE0LygqNLNu1y5rKWPIfUUtzminHlXr6r7Xiq541U1Pakde74C0ZAtg4vqQ8kduiFlQ++IDoTf+Ye5TTamhj2jDalFWzVWXF9Qr1GL011T9DQfSWzuc+WmCMuPKP7BtB8VveNWb6SZn9OS2E2SJ65uvR1Z3YZo6++XCHzBw9jAB+AD8AH4AHwAPgAfgA/AB+AD8AH4AHwAPgAfgA/AB+AD8AE3PgDRthyVY2KAzuw7Ss83tdI9+nttZ7XSI28fpZ0XBsqxVpJ3/Mgumv235Qi3zbTySLK35toFzfLEw2KhU29+YCcvqtruvq1AtC2tN+wO07D+mO0z85n7uUc3Fz1SWR6JHCbYMo+Ediz5dJq8XSqGGn1QPBPcGasZLrUZJKrj/FhsQ0AvzW+0wdpOrcLIu6KDPk5vaqLpM5r1Qs63XYi23KimBa/TD6Y9kH+vLQuux44fV+21ia9S5pfPPKsEXNnnu5/5kce82MrZBOCoupWhjP+DaOsm4OOLEzjCB+AD8AH4AHwAPgAfgA/AB+AD8AH4AHwAPgAfgA/AB+AD8AF/fQCirVdixwT17NiWULhtprd3yHt0k3SiVFDkUsHdmsH7OQuiq91eqYin5wvs5x/Haz4uOa1om7uztfBo4VyduePFbbb3MShR3D5buXzb1Xt9Qx4Drb/zV7bzfS2uI7Bn2uHWRLWT069RX3dOuJU6phQLtPq4Fbe7VHzNEbMIwbkUK8v4NnDpaJ+IepR1QQQvHgtprbu1K9GWW8Tiqc777UWL84Ks/u5ZzseLCLBShvNwWrmibVzdqrIM/4No6++XCHzBw9jAB+AD8AH4AHwAPgAfgA/AB+AD8AH4AHwAPgAfgA/AB+AD8AE3PgDR1juhY4KGTh+ktx+MuOP2wW306ekh71qOBoEACIBANQhAtHUT8PHFCRzhA/AB+AB8AD4AH4APwAfgA/AB+AB8AD4AH4APwAfgA/AB+IC/PgDRthoKgwubd0ap50QHbVy4g9742cf04s+20bKF+2n3iW4aT/QOWxeNgA0QAAEQmHwCEG39/RKBL3gYG/gAfAA+AB+AD8AH4APwAfgAfAA+AB+AD8AH4APwAfgAfAA+4MYHINpOvh6BFoAACIAACEQQ8EW0vXDhAnV2dhK3B39gAB+AD8AH4APwgQ4VFzk+uro4R6zF5wqfK/gAfAA+AB8o9gG+BnUZa13FbNhxMzEPjuAIH4APwAfgA6YPQLSNEAqQBAIgAAIgMPkE+KLdDF613ueLZP4bHx+ffCBoAQiAAAiAAAh4QoDjosTISmOz2EGs9WRw0QwQAAEQAAEvCLiMtZXGapSHsAAfgA/AB+AD8IHq+wBEWy++gqERIAACIAACYQR8EG35182YRA4bIRwHARAAARBoZAIcHzlOVnrxjljbyF6EvoMACIAACEQRcBVrK43VKF/9iXowBmP4AHwAPgAfgGgb9a0IaSAAAiAAApNOwAfRltuABQRAAARAAARAwE7ARaxGrLWzxVEQAAEQAAEQYAIuYi2EAAgB8AH4AHwAPgAf8N8HINriux8IgAAIgIDXBHy4OMVEstcugsaBAAiAAAhMMgEXsRqxdpIHEdWDAAiAAAh4TcBFrMVEvf8T9RgjjBF8AD4AH4APQLT1+isZGgcCIAACIODDxSkmkuGHIAACIAACIBBOwEWsRqwN54sUEAABEAABEHARayEEQAiAD8AH4APwAfiA/z4A0Rbf+0AABEAABLwm4MPFKSaSvXYRNA4EQAAEQGCSCbiI1Yi1kzyIqB4EQAAEQMBrAi5iLSbq/Z+oxxhhjOAD8AH4AHwAoq3XX8nQOBAAARAAAR8uTjGRDD8EARAAARAAgXACLmI1Ym04X6SAAAiAAAiAgItYCyEAQgB8AD4AH4APwAf89wGItvjeBwIgAAIg4DUBHy5OMZHstYugcSAAAiAAApNMwEWsRqyd5EFE9SAAAiAAAl4TcBFrMVHv/0Q9xghjBB+AD8AH4AMQbb3+SobGgYA7Al9++SXhDwyq6QPuvLXYkg8Xp5hILh4T7IEACIAACICATsBFrEas1YliGwRAAARAAASKCbiItRACIATAB+AD8AH4AHzAfx+AaFv8HQh7IJA5AjaRbmJigvAHBi58wOZfrj9EPlycYiLZ9ajCHgiAAAiAQJYIuIjViLVZ8gj0BQRAAARAwDUBF7EWE/X+T9RjjDBG8AH4AHwAPgDR1vW3KNgDAU8I6GKaLs7duXOH8AcGLn1A9y/d71x9FHy4OMVEsqvRhB0QAAEQAIEsEnARqxFrs+gZ6BMIgAAIgIArAi5iLYQACAHwAfgAfAA+AB/w3wcg2rr69gQ7IOARARHOREwTgW58fJz4b2xsDH9g4MQHxKfEx8TnxAddfCx8uDjFRLKLkYQNEAABEACBrBJwEasRa7PqHegXCIAACICACwIuYi0m6v2fqMcYYYzgA/AB+AB8AKKti29OsAECHhEQsYzFMxHSWFjjbU7DAgKuCbBfsX+Jn/E2+5/4YqX1+XBxionkSkcR5UEABEAABLJMwEWsRqzNsoegbyAAAiAAApUScBFrIQRACIAPwAfgA/AB+ID/PgDRttJvTSgPAh4REJFMBFu5CxJirUeDlOGmsJ+Jz7kUbn24OMVEcoYdF10DARAAARComICLWI1YW/EwwAAIgAAIgECGCbiItZio93+iHmOEMYIPwAfgA/ABiLYZ/kKHrjUeARbNdMGWH4MMwbbx/GAye8z+xn4nd93KHbeVtMmHi1NMJFcygigLAiAAAiCQdQIuYjVibda9BP0DARAAARCohICLWAshAEIAfAA+AB+AD8AH/PcBiLaVfGNCWRDwiACLZbpoK8KZR01EUxqEAAu27H+u7rb14eIUE8kN4rzoJgiAAAiAQCoCLmI1Ym0q9CgEAiAAAiDQIARcxFpM1Ps/UY8xwhjBB+AD8AH4AETbBvlyh25mn4Au2LJoxid4vssRCwjUmgD7Hfufq7ttfbg4xURyrb0I9YEACIAACNQTARexGrG2nkYcbQUBEAABEKg1ARexFkIAhAD4AHwAPgAfgA/47wMQbWv9LQv1gUAVCNjush0ZGalCTTAJAskIsP+5utvWh4tTTCQnG3fkAgEQAAEQaEwCLmI1Ym1j+g56DQIgAAIgkIyAi1iLiXr/J+oxRhgj+AB8AD4AH4Bom+y7EXKBgNcEdNFW7rK9deuW121G47JNgP2Pv2SwP8p7bdlP0yw+XJxiIjnNyKEMCIAACIBAoxBwEasRaxvFW9BPEAABEACBNARcxFoIARAC4APwAfgAfAA+4L8PQLRN800JZUDAMwIi2vI7RFkkGx0dpeHhYc9aieY0EgH2P/ZDeUSy+GgaBj5cnGIiOc3IoQwIgAAIgECjEHARqxFrG8Vb0E8QAAEQAIE0BFzEWkzU+z9RjzHCGMEH4APwAfgARNs035RQBgQ8I8CCGN/NyKItP5IWoq1nA9SAzRHR1nxEchoUPlycYiI5zcihDAiAAAiAQKMQcBGrEWsbxVvQTxAAARAAgTQEXMRaCAEQAuAD8AH4AHwAPuC/D0C0TfNNCWVAwDMCpmjL7xO9efOmZ61EcxqJAPuf7b22aRj4cHGKieQ0I4cyIAACIAACjULARaxGrG0Ub0E/QQAEQAAE0hBwEWsxUe//RD3GCGMEH4APwAfgAxBt03xTQhkQ8IwARFvPBgTNUT8agGgLRwABEAABEACBxiDgYiIZom1j+Ap6CQIgAAIgkI6Ai1gLIQBCAHwAPgAfgA/AB/z3AYi26b4roRQIeEUAoq1Xw4HGEEG0hReAAAiAAAiAQAMRcDGRDNG2gRwGXQUBEAABECibgItYi4l6/yfqMUYYI/gAfAA+AB+AaFv21yQUAAH/CEC09W9MGr1FeDxyo3sA+g8CIAACINBIBFxMJEO0bSSPQV9BAARAAATKJeAi1kIIgBAAH4APwAfgA/AB/30Aom2535KQHwQ8JADR1sNBafAmQbRtcAdA950S6Oo6R9/+zndp7brmRHY5H+fnclhAAARAoBYEXEwkQ7StxUihjloSaFrwOv1g2gPUf+NGLasNrYtfXfLLZ54lblcWlnK/H2Whz+hDYxNwEWsxUe//RD3GCGMEH4APwAfgAxBtG/s7H3qfEQIQbcsbSJ444QmUu6fc69VESlQvxsfHqbe3lzhwu1jYDttju9VYINpWgyps1iMBOd8cbDuUuvlcls9XSSdZOR/nr6TO1I1FQRAAgYYk4GIiGaJtQ7pOpjsN0ba6wwvRtrp8Yd0/Ai5iLYQACAHwAfgAfAA+AB/w3wcg2vr3PSxo0cQYXTmzg5ZuXEizljxG9y+ZRy9tXEsbz/TQ7QlfG412TRaBaoi2IhKUM+kv4kSYsCA2WUyYTEGB28e/Mudfm4ctPvWFhdVTp07RsWPHaHBwMKzJZR1nO2yP7VZDuIVoW9ZwIHOGCciEYjnn0gzjQNdAAAQySsDFRDJE24w6RwN3C6JtdQdfvmMlfRJJdVsD6yBQfQIuYi0m6v2fqMcYYYzgA/AB+AB8AKJt9b9XlV3DUNcW+tXiafSXb9xv/fvW4ldpbddw2XZRILsEXIq28tiscoVVvliWMjbR1nxcJ19kT3905qQ8LozbZ2ujeIhPfRHB9ujRozQwMCBNdLJme2y3GsItRFsnQwQjdU5AJhPl3CiPLOZzDP9wZM9nLeq8ydufnzihHmksefXHKYodLseL7G/Zus361ADzfMvnO65j+fsr8+dpscX2zPO+tCGJ0My2Jb/eZvnhi6Tp9elpXObtRYvzP6SRNMkvbdN/aCN5bLbL7atuV++LfjzKDaV90hZe69zMdN0u91HKiW/I2IoN6Su3Tcb+B9N+pOpgdlxu9+7PQn3HNr7chpa9rapu4cz5pD1St6oQ/0AgIQEXE8kQbRPCRjavCMh5Ws7n+nmVz916bNTjDOfX8/K2xESxJed+7rDEB0kzy8pxvT6zHF978Z9uNwqmWSfHB4lrEre4PNuTfbOM3h5JM7+/dJ07b/0+I/n5+wvb5z7a7OkspIzw0GOazl+3E8UAaSDgEwEXsRZCAIQA+AB8AD4AH4AP+O8DEG3L+gY2ToMXztCytw/Q1Kda6CtPBH9fn32Ant9whs4MVv6Y0SsHXqW/CxFri0Xch+lXB3rKaj0yZ5eAS9FWKMkFuX6hK2lRa75oNicCZDKjXFtR9USlcRvkQl0mECS/frHOeaLaNNl9qaZgKzyqJdxCtBXCWDc6AZk81M81co7Sz5V8TPJIGUmXfc7Di+zLhKOcYyWd1/q5T857erqUZXucLmKi2Ja2RI2fWc+x48eJJ14lfujtZ6GRbUua1CdtN/elrWZ+2bfZlr7wuV3K81r6KmWlLt6XNtnyiY0oBlyeRWdexH7S+vQxYjvMgtd8XPgLH72/nC51cL3cTskv5SW/tMnWZ84jx9mOua86hX8gkJCAi4lkiLYJYSObNwTkHCvnXD4HS7zjRvJxOV/z+Zz3uYyk6XGAz+V6/OLzuuybsYBt8A+/eM35dDtch7THLGfGiCiQUlZiIdcjfZF+cwzh2K/HraiYJPWLnbB9qVPSJVZJm2Rf0iW/pMu+3mY+pnOS7yxRDJAGAr4RcBFrMVHv/0Q9xghjBB+AD8AH4AMQbZN+C+vrojfmtdA9c9po0a6LdHFwgAZvj9HozQEavHyR1n/URv84q4Wmreyi3pTa7e2TixMKtnIH7sPUdHIsaQ/c5DvcRHdPaaION9YcW7lGa2bcS9Obrzm2678530VbvqCu1V21fEEuEwE8cuZEBh/TJzOiRpdtyaSH5KtVXzhA8x2w1bjDVvoia1245XpdLBBtXVCEjSwQkAlFPhfJYk4cynFZ65OhvC02uBwv5r7kl/OVaZ+Ph50XzbLmhKe0ybbmPsmEsp5unnelDm6XlNF5cPtkAtasX8pKepRtbkNUX211cxmzTj7GbZU69b7Fbevs4+qT8dJtytgKH2mb5JV0rse22HjxGIk9vQwfkwlsqSfMrl4O2yBgI+BiIhmirY0sjvlMQD+PcjvlHCznUjMm6X3hsvr5WY8fnE/Oy2xD7OqxXK9PYgQfY7uSz7QpdvT8epv0bS4rdvi4tIft8yLt5z6ExUupT9LNGCY2pT3mvpmf6+W80i4zParN0l7OgwUE6pWAi1gLIQBCAHwAPgAfgA/AB/z3AYi2sd/WxmmwvYOmzmqluft6g9wT16h9azs9MqeVpja10+pjOZFwvJd2vttK98zuoNZy77qduERL3xMxtoz1e2vpfC3fcVsL0ZbrmNFMfbFjY2bwWLRV3IL3uPKF7d1NnWbjK9r3XbTli2S+WJdHgTIDudg2O/7KK6/QH/3RH1n/OC1qkQt9mUyQvHxxL5MBfMzcl3zmmi/q9XKcXk5fTHtJ92txh63ZFl245forXSDaVkoQ5bNCQCYU9fMSn1tELNP7yXlUjMi99ztsklNsysSjTIrK+cq0z8f1cy7Xo9fP6Xpd+l1Cevts21yXtFmvX47pa84rfdR56PXLedzsm7RPr8+0ze2L6iuX1fst/RGeuj3eljolX9ha2izlpY64+qSPul1pi/AR28JW0s2ywlXaIG0PawPXKbY5D5eXduvtwTYIJCXgYiIZom1S2sjnCwE+f8p5V1/LOdqMSRKv9bxyvjfP15JXzudyzuaycr7Wj+k2JeaH2ZSYEsWR8+g2ZVvaK+2Ttui2wmKSGcOk/dIec9/Mz3XofTLT49rMZaUfUqfebmyDgO8EXMRaTNT7P1GPMcIYwQfgA/AB+ABE25hvZaOdHXTfkwdo9WW5o7WftrxeeDSyPCL5iT39OUtjdPGTA3TXcx3UHjz5KKaGXPLxxfStRI9FNgXdadR0PFkVTnJBtC0fYwmzTpo/xe0dwbUSbeXiXC52ZRJBh8IXw+ZFsFy468c5n60827IJt3GCLZfjC3eb2GDWxe3Q26K3X9920RfdXtJtXUDlQF2LhetxeWcvRNtajBrqqAcCMqEok5zcZj63mJOcfE6SY3KulXOk2OByvJj7kl/Oa6Z9Pi4TuFye2yJ18b5Mksq5XepRlSX8J+d5Xpv2dRN6PjnO7ZO+SlukDdI3SY+yzfai+mqrm8uYdUq7kqzFprRXZy9pvNYXqU/GS0+TsZUyZl5Jl/q4LNuR8bTx4nEVe3pdUpbZvvhv8xLFRbM89kFACLiYSIZoKzSxrhcCfG6V86+tzXpMkvO3nPu5rH5+1uMH2zLP/2JfP89zHj6Hi03JI2vTppQNyy/leM1l9e8Oepqkc9/52ktiNB9n28JE6pN0YSAxzOyjuW/mF/vSLjM9rs3SB5O9HMcaBHwn4CLWQgiAEAAfgA/AB+AD8AH/fQCibdS3spFzNPe5VprbOVjIdbKTvpl7l60Itmr9TCcVtNNBal/SSvetulgoF7N1bMuDVPzOWlOcDd//my2nYqwTUYlwSNTXPLP4jlbOw3e4qrxyV+hMWtOtmRc7RXksj0vubqbpuTuF+GJ0/mHNBgWipUwO649b7miSemVtsa2ZUn2QemY005omUwwNrytgUtw/VX/RXb66wBrcyct90duZ5nHMqrzDu21rJdpq6EM3+WLZnAjgC2O5WJeCfJFtE1glXRdukwi2XC5s4sS8gOf2mW2UevW1q77oNpNu9/X1qUcjs5DKwbSaC9sXwZbrdbFAtHVBETayQMCcUOQ+8blFJjR5P2xSU86bpg1zX8rLec20z8dlgpPrM8+VnM5lyl3YDv/xordJ2iPt53SeiOXjMiEraea+lJW+sH3+viD5JV32ddu8HdVXsy7Of+XKFV5Zx4Tzxy06a2mbjG1UfdxOycd1cF6dj4wHr7n/wkPnzOWkTuEh6bIf1QYuL/m5DhnLuD4jHQRsBFxMJEO0tZHFMZ8JmOdgbqucz3lbj0kSz+Rcy2n6uVfO95Ku73M9y99fqc75cXYllnA+OcebMUT2OU/YIvFDzysxU9K4jdIv3jZ5SP0Sk2Sf8/IidqQOc1/yS3rYfpg9rkPazO0UtmJHyoUxwHEQ8I2Ai1iLiXr/J+oxRhgj+AB8AD4AH4BoG/EtbLClAJpzUAAAIABJREFUjb7y8gnKPRRZ5ezdup+KxNq8gLufVvdoxq4ep2lPdFC7dihq89D6cFE2VsxdfyzKdJAmYquW0yraGo/uDcRJTTgVsVYTHEvyKMFWF0MD4TMQbln41NMCIVR/XHBJu7Q265uBYKu1LScUF0TUuLqCus380/X2KZtSR66tugiteOj90VsYsp2mTIgpOey7aMsXxqZAazsm/ZE1i7VJBVsuIxf6ckEudvhCXy72+Zi5L/nMNV/I6+U43dZu2zHTVpr969evV1245S8CIthyfa4WiLauSMJOFgjwuYQnZmVylvd1wY77KJOenIcnN3lyNmySk885XF4mG2WSVM5Xpn0+HiXa6nVLO/X8tjGQOiU/r6V+zm9Ll3OztJ/LcD3cT+mryYJt8p+eHmU7rq8SJ6Td+jjo42T2x8aAj+n22NaWrduK4p2ezjb1+rit0g5ey3jq7RA/4Ly8CDvJy8f08WNOUoY58RLVBmEZN97KEP6BQAQBFxPJEG0jACPJWwJyHtXP5xLv5PzM52Y+F/Na8gXx4oG8kMjndY4RfM0keUw7clyPJQxG6pF0PWbqaXy8nCcr2OJHR8cRFbv1uCHxjOsy69NjkhnDxL7EOHNf8v/rjMfyTCQv91tnz/XyIjaEBbP6/MTJIvacpttRBfEPBOqAgItYCyEAQgB8AD4AH4APwAf89wGItlFfzGx32nZ20F15oVZ7TPKTHdSef7ds7k7bFedoNMq+lravuQLRtrnoNlbNqraZWLQVgVLK6oKr/Y5dyt05K3fTsohbEEIDO0pg1YResc5rU6Q19/W8hW2jXSrBFGELuWXLtF10xysLtLm7daUvxflt9m3tkNqK14G4fW/x3c3FWVLv+S7acsf4wlifQOD9alws84SHPonAF/DmxEbSutmWrY18rBZ9YW7VFG45SFdDsOV2Q7RN/XFGQRCoKQGZ3JTJTq5cJkn1Y9VslHlOrWZdsF1KIGlMLC2JIyBQIOBiIhmibYEnthqPgIi2HIOxBATk+wizwQICIEDkItZiot7/iXqMEcYIPgAfgA/AByDaxnzzy7/T9up4kHOim1bP18TanID70FZ5hvA4Xdyae6dtGU809ebxyFPsom1ehLWIvyLaBnkKd6PKr1vz6yLRNhA782lavcVCqQjF8rjk3KOWS+7m5eGxiap8PLwu/bHRXC/3QdWfa2uxAG2zXyzaqrLyuOYpIXfgltwRHOOECZJdirZycVwYm4B91MWy/itnvZwubHI3eGJY0s20BN1MnIXbKvWYgq20g9tiW3zrC7exv78/f8ft+HjuXGRrfBnH2I4Itmzf9QLR1jVR2AOB6hCQc75+judtPnfK3TRyPtXXYefQNK1kW9WMCWnaJGVYuNb7rW/XStSWtlRjLeOfhb5Ugw9sJifgYiIZom1y3siZPQISe/m8XItFfrSlxzXZdhnjK+mLxCj9O0ol9lAWBOqdgItYCyEAQgB8AD4AH4APwAf89wGItrHf2sZpsL2Dps7aT79tyz0oefwK7VxygKY+10r3zTlAc1uC96HReC+1rthP98zuoNbBMoWV44vpW2+kudt2GjUVXqYb3huL2GoXR+2irdx5qouchcp04VLfLuTQt+SO0zCbJe3SC8u29RHDpaJqXF2BoBuIq5xXtSn/SGSzL6X2RRDO90XaF7MOxF2TdUyhiGSXom1ENUiaRAIDAwN08uRJGhzU3rFdQXvYDttju9VYINpWgypsgkB1CJjCpO3HLtWpObDqs2hbzX5Ppm39B0qYDJ/MkchO3S4mkiHaZscf0JPyCdRatC2/hbUvAdG29sxRo98EXMRaTNT7P1GPMcIYwQfgA/AB+ABE26TfyS6foKdnt9A989ppdftl6h0Zy5Uco9G+y9S6tZ2mzWqhqQtP0MUy9VplaOISLX0vhWj73lo6n38sc0Rn0oq25h2tFjtk5FFCadFdtVq7jLwqxbCZSLRVdnIia968IaomqEvuzp1/mAVaEVHZzkxac7iZpuePcSWGfVWvKezmGxO9YfQ5OnN8KkTbeEbIUVsCEG1ryxu1gQAIgAAIgMBkEnAxkQzRdjJHEHWDAAiAAAj4TsBFrIUQACEAPgAfgA/AB+AD/vsARNtyvpVNDNCZfUfp+aZWukd/r+2sVnrk7aO080Jld6zdPrmY/q6su20fpqaTIh7HdMQUOXP7d89opj4pqoRE/X20gUh5ty7AJsmTs51/pDLbP9xJHbwOa4cujiYUNIO7aEVoLTxGOV9vkrry79Sdqd5nKyzY9vQZM433z6YTbVU7dc7yuGadq4xByjVE25TgUKxqBCDaVg0tDIMACIAACICAdwRcTCRDtPVuWNEgEAABEAABjwi4iLWYqPd/oh5jhDGCD8AH4APwAYi2Hn0B46ZcOfBqQuH2YfrVgZ6yWh88kjf3blgWEVnU1MXEnFi6pnlm4f1tejrXxnlmNFNHVB7OlxNM5b04d6s7V4PmWtuhi7a5O1qDsiHvhVWmcqKyvEO2qVO9jzYv2oogK+nS56K6LGKv9HOKLmDzwXSiLZcMBObCe3mLhHDVl8r+QbStjB9KuycA0dY9U1gEARAAARAAAV8JuJhIhmjr6+iiXSAAAiAAAj4QcBFrIQRACIAPwAfgA/AB+ID/PgDR1odvXkYbhrq20K8WT6O/DLnr9luLX6W1XcNGKQe7Ce9wdVATTDgmANHWMVCYq5gARNuKEcIACIAACIAACNQNARcTyRBt62a40VAQAAEQAIFJIOAi1mKi3v+JeowRxgg+AB+AD8AHINpOwhetRFVOjNGVMzto6caFNGvJY3T/knn00sa1tPFMD91O8g7bRJUYmSDaGkDqZxeibf2MVaO0FKJto4w0+gkCIAACIAACRC4mkiHawpNAAARAAARAIJyAi1gLIQBCAHwAPgAfgA9kzQdGR0epkj8feUC0Df8+1HgpEG3rdswh2tbt0GW24RBtMzu06FidEOjv76ff/va39MILL6i/LVu2qJbz8ddff53Onj1bFz0ZGRmht956S/VhxYoVqdrMfX3vvfeIbWEBARCoDgEXE8kQbaszNrBaPQKItQW2iLUFFtgCgWoRcBFrfZyYRpsgIMEH4APwAfhAOT5QiUCbpGw5balWXoi21fo2BbsgUEMCYaItH8cCArUmwH4H0bbW1FEfCBQIiNDZ3t6uDvI+i5Y8oVpt0ZbrnDdvnjNR2JwEZuGWRdxyBFjTRoFUYctmV5+MZwGc97GAAAjYCbiYSIZoa2eLo34SQKwtHhfE2mIe2AOBahBwEWurNbkMuxBc4APwAfgAfKDaPpBEcOXv6En+ktiqdn+i7EO0rcY3KdgEgRoTMEVbPvEMDw/TnTt3atwSVAcCpPyO/Y/9cGxsTO1PTExQ2h8R+HBxiolkeHY9EWBxkYVNm8jIx+rpTlsWgcsVac2xiptIZsGW70g26+Hjcoeyi3aY7cI+CGSJgItYjVibJY/Ifl8Qa4vHGLG2mAf2QKAaBFzE2qgJYqRBcIEPwAfgA/AB33wgSlyNE2dv3bpF+l9c/qi6as0Fom01vknBJgjUmACLYfzHIu34+LgSy0Q0q3FTUB0IFPkf+yP7pfhoGjw+XJxiIjnNyKHMZBJgwdF2x6uItuvXr88/OpnzysKTrlyORUy9vClachkpx198WfDkPFyeRWGuRya0d+3aFVuXPMZZbHJ7bG1hEVXyyASx9IXr53Tdlm6Dj4sIK/2VtdjivvAinPi4bV8dJFL2uH7uv9yNy+3jtsii7/M285BHV0sZzstlpO2mgCy2sAYBXwm4iNWItb6OLtoVRoDP6XqslHwSQyQ+8bmd88qixya9PMcB/fzPZaQcYi1irfgP1o1LwEWsrfWkM+qDAAQfgA/AB+ADaX3AJqLahFddmNW3WRvR//Q0fdtm01Z32n6kKQfRtnG/76HnGSIgghjfzcgiGZ8M+OQzNDSkBLMMdRVd8ZwAC7Tsd+x/7Ifsj3KXLftpmsWHi1NMJKcZOZSZbAK6CCgiIk8ks1Aok8A8cayLrPpduJz26quvljxWmb/Qfvjhh+qRy2yP/3iSmdemvbC69Mln5sTtkzbp3MwJbFO05cluEWL1drANFke5PaYN3b5scz79vbemLW6vPGJayvCa69Yn3PkY90N4m/ucJkKtzsC0z+V1G3qd2AYBHwm4iNWItT6OLNoUR4DP1fKDGzlvcwwJi3+chlhb+IGUfH9gzmYsFPaItUIC60Yn4CLWppk4RhkILvAB+AB8AD5QSx+wCab8PVH/00VXXZjlbX5lX9SfmV+3pdfB27a21IIFRNtG/9aH/meCgC7asmjGj6TlE4ucoPgYFhCoNgH2M/E59j/z0cgQbas9ArAPAnYCPIkswqI5Wazvcz79Dh+2xiKjiKIiRrLAyaKt7HM53ubFFG31iWm9LrEtE9y2ujmPeZzbYqtLVZ5rr/RVjpk25Li+NkVbvR+cj89pYaKttEfsCRfbPqcJT07X9/k4T/wLEymPNQjUAwEXE8kQbethpNHGMAJ87pb4Y8Y7fd8Wk/RYIDEEsbZAWo/9clQ42fZ1npyu7yPWCjGs65GAi1hbi4lm1AFxBz4AH4APwAfS+oApkvJcjPzp4qoIrzIPzWu+iaicP72s2NPrkHp5bbYrbf+SloNoW4/f1NBmELAQYEGM72hk4Uy/25ZPQAMDA+rOR05LK5xZqsQhEMg/lpuDGvsZ+xtvcxCSRyPLnbZpcflwcYqJ5LSjh3K+EJAJS33imNum7/NEMufTFynHxySdJzx5m/9kIpW3edHFTt02p5n7nJcnuFmolIluZUT7x3Z1IVnqM+vSiqgv9FxGbJo29LyyzW0x77SNEpylnN4eOcbMhAcf0/d1npLGNvSF80C81Ylgux4IuIjViLX1MNJoYxQBOceb8U7f5/jA+fRFyvExSefYwNv8J7GGt3lBrC2OrcyEGQofnaekIdYq18G/OifgItYmnSxGPggu8AH4AHwAPlBLHzBFUd4X0VSEVBFWRWzVBdrBwUHiP56bTvIn+XUbYlfqkXqlHbY2VosRRNs6/9KG5oOAELDdbcsnEz7B8EmHT0Y3btxQk+bXr18n/rt27Rr+wCCVD4gP8SQU+xX7lwi27Heu7rJl//bh4hQTyXKmwboeCPCkpS506pPF+jb3Rd/XtzmNJ4Xl8ciSlydC+S5bzst/LHRyXZxXyrDYKelRwifbkXKqsOWf2ReZuDbr4n2uc8OGDXkrMoHLdeiCbD6DtmHLo0/6mu2Qonp75Jheju2yeBw3kcwXAfzuQ17zwnbNCWaxjzUI+EjARaxGrPVxZNGmMAJmXOAYJDFP3+by+r6+zWkcJxBrgx8vmUyFPWKtkMC60Qm4iLXVmlyGXYg78AH4AHwAPpDWB0wxVERSXotwykKqiKoitIpIy3PUfX191NPTQ93d3XTlyhW6fPly0R8fu3r1qsrDeVkT4flsEXjZltiVerhOqV9vk9netP2OKgfRttG/9aH/mSJg3m3Lwpku3PLJR05oclLiExT+wKAcHxDf4bUENVOwdXWXLX9Afbg4xURypk6Vme8MfznliU95x55+16Y5WWzui8hou/uVv6SyQCuCsLnPYLl8UtHWbKPeThkkcwJXn7jV6+L8XV1dqm3Sb7OdfJwFVX3R+yvlRCyV/vFxeQ+tXpa39fZImm6T28CCMfeDF13Q1ff5AoLTpA1h9UkdWIOAbwRcxGrEWt9GFe2JIoBY+4KKWYi1UV6CNBBwS8BFrI2aIEYaBBf4AHwAPgAfqLUPmAKoiKMilppiLc9D8x8LtSzSshBrCrRJ90XE1QVcsc8aSpR4a7bbNTeItm6/Q8EaCEwqAfNuWxbOWLjlEwef9PiEJ7f4y4kH6+iXk4NPOB/xJfYr9i/2M/Y3U7Ct9JHcPlycYiJ5Uk9tqDyDBFgs5oleXsvCwqYpqkoa1iAAAn4TcBGrEWv9HmO0rv4IINbW35ihxSAQRcBFrHU9qQx7EHjgA/AB+AB8IK0PmMKnLtjKnDPPy+s3obHAaruTNqlQG5aPbfb29lrvvuU2SHtkDpzbarY/LQdbOYi2Ud+IkAYCdUjAFG7lHbci3soJRU6EWBdeaA4W5bEQX+Lgoou17HPyHttKBVv+CPpwcYqJ5Do8GaLJXhP4/9s70ycprnQ/+8/xP2B9GIfCEf4wcR0OR9z7xQ7b4fD1eMKKmTvj0chCEkIIrWhBIIFaEiAkhNBoQQtbCyGhFiAJgQABzdLN0jRbN91NL/RCswgNx/E7WW/Wyays6tq7WjwZUWRW1smzPHmahHr6fU86SladTUehtvQA6BwEIJAgUI9nNc/aBFLeQKBmAjxra0ZIBRBoKQL1eNZmfTHMOYQLc4A5wBxgDjR7Dth3yra37+Qt4MyCqEzYNkrWpiWu5K3SJ1vq5DDDpMnbZohbpG1L/ROMzkCgPgRCcSt5Jolm8taibyXZeMGg1jmg+WSRtSZr6yls9RPRCv855Yvk+vzdRC0QCAmk0yNbWuKwDMcQgMDcIFCPZzXP2rlxr+nl3CLAs3Zu3S96C4FSBOrxrG32l/K0hwhiDjAHmAPMgfQcMFFrewlbidBQ2JqsVeaYWlIgp6Vsue8lb9Npky1lsqJurb/qu43D9unxVvMeaVvqX0R8BoE5TMDErfaSaPYygcs+EtlwqJ2Dza1Q1tYjwtZ+/FrhP6d8kWx3gz0EIAABCECgkEA9ntU8awu5cgYCEIAABCBgBOrxrK3mi2OuQbgwB5gDzAHmQL3mgIlN25cStpKm5UrWRpUrFnXbaHGLtLV//bCHwK+UQChv7TiUbBznhTYsKmdhcyrc1/tHqRX+c8oXyfW+q9QHAQhAAAK/JgL1eFbzrP01zQjGAgEIQAAC9SZQj2dtvb50px4EDnOAOcAcYA5UMwdM1mqflRLZImy1vmyjRGyl9V65csUp4ndiYsKF6ZJN3No4wrFVwya8Bmlb739FUR8EWpRAKNU4vuNgUH8GjZr6rfCfU75IbtTdnbv1Xuq/7EZGx+buAOj5nCJwc/yaG+264NydO3Oq33T27iFQj2c1z9q7Z76UO1KeteWSolw9CPCsrQdF6mgkgXo8a8MvhDlGuDAHmAPMAeZAM+dAKDVNdGalRG4lYWuCt9niFmnbyH9RUTcEIAABCNRMoBX+c3q3fJF84+ZNt+6Dj93S11a7515uc92ne/z9u3Zt2r3+9rtu7Or4jPdTvxCx/9AR9/RLy92TL7zsdn7/g/8liRkvTBW4eeuWW7P+A/f4c0v9a8EzL7oVq992Q8Mj7qklr7jHn3vJn39l5Rp3ZXgkdbVz4xMTbu37G5zGpE1f/C5e9qp78PFnnOo6cfJ0wbkNm9oT9Vzs63d6ZW1ffL3T/bD/oP9IadY3b/sy7uuhzmPxJRcu9bsXV7zhnnh+mVux6m03MHTFnb94yT327JK4/Fvvfegmp6b8Nbu+3xufn//08+7djz7158Ve14vH0tdWuZNnzsZtVHKg+6N7onujfql/pbZiY9P9eXX1WrdwcTSOZa+vdhOT0Riy6tN9ePtvHxXMIZ1fvuqtuJ73Nnzm1wPJqmM2z92+ftPte/I999Xvlrlt//U5N/TTGd+dyQtD7vtH3na3p6N51qg+jp644PYv/tD9cuu2b+L6lXH3zR9fdRv/w2Ou8/V29/fbv5RsuuezPb6syn/87x50Pz7zvtOYvv1/q91Y90V/7Y2RCffDwnV1H8vlvV1u6z895dvf+/i77tbkdMm+HnplY9zXj/7tX93J93c69e2bf2lz04NX/bXq84EXNvi+ay+ZLQY/LfnEXdrZ6ctozJ/9dr7b/J8W+et1UvVs/ccn3cZ/WODb6LhvhbvWH/39ofv7yb9/2J9Xfy99c8TXU+x817tfO71sO7jkYzeaY2nnytmn+9S1bocfi+6PeOlez4WtHs9qnrU8a9NznWctz1rNCZ616Z+Mwvc8awuZhGd41iIlmiklaIv5xhxgDjAHCufAXBa2syFukbbhv+Q4hgAEIACBliNQjy+Ca/0HU6t/kazU3mPjE2507GrJ19S1ayXvr2Ti+59s8pL1+o0bbvr6dV9eAvTt9z50OjfTpjrWf/Sps/Wi1334ies5d36my0p+LtG4dfsO99ORowUy9ljXSfe3jzcWXJ+Wtlbgg083e2lq77XPOqfzG9u3+1dYttixJKb6KYEsOan3P//8sxfHfZcH/GXjE5NeOouR2rTtm2/3uK92fmtv4/3Hmz93Gp+28Fj3QRK6mk19ES/dn6Erw/741s8/l6wqa2ySrZLi4lzOVqx8eF78tnfs8ve6nDrLKSPJqS/qZnqZDC1Wp0lCycGfr91wP09FPxvh+WLX1v38nTvuyKub3ZUjZ72sPPH2l25w/6mymzm8fJMb2NftpW3HH151ex5d6yWhGO19Yr0/X3ZlMxS8dnnUy27jNfDjyShieIbr9LHuifozfnbA3z/J12Ort/kxi7sEre11X7rf6/CvMBpZY/r6/yz316vO9BjF4cDzH/neWH2+3Oik2/3XVe7G6GTcTvq82pMEn+qLpG94va+wzD/CPkk8H3juI3dhxyF/HzR+fT4Xtno8q3nW8qydaa5nPY941uaphc/U/Fnnf4HNntk8a0MyJY551sbPWJ61JeZJkz+qx7O21v8Xc32hiIAJTJgDzAHmwMxzIC1t50qErQlb25cTcRuOtdq5gbRt8j+yaA4CEIAABCoj0Ar/OW31L5J7L1x0732yya376NOSr43bvnTT17PF69ET3W7l2vU+Qnb9hs/iCEzJwWeWrnAPLnzaR7cq+lVfmhbbduz6zh0+diL+WMfbdnzj36sNi8Bd9c57Xm5KDCv6VJG8Ovf6W+sKojElGhVxKrmYlrGKBv506zZfv0WjKqpVEcNvvvt+HGlrHcoStFnnpqevu3c++NjLah3bZpGwDz+x2CkCKL2pr/piVF8iS4y+++EnPqo3LJeWtt/vO+B27dkbFnETk5Nu9bq/+b0+2PLFV+67vT8mopb15ay46Z4ocnbxy23xfZPYVT8UmasoWEXFKgL4yLETcb91H8VJ3MRWYlj16BqNTf0Pt3BsavuzrV8UiPyr4+PurfUfxOf7BwZ9vdYf3T8d65cAenrPJ75IVlu6Xv1WmXpsioRc969/P+MrjJhMt6volW8ffNNHi+5f/IG7errPFxk8cMpHZn7wb/6vl3eKEC253bnjejbu8ZGeX/y3593uB1a5/u+OewmZed45N95z2X3+n5/17SgqVNGXPgIzkHnqX9e6KOJTffvqfy310aV7FrzjFP0ZbpKQ3z/8lpeRqkfyV5GkEsChPFS/jEnYnqSiIl933b/Sy1D124vsqetesEpi7vjfL7tv/uU117f7mB/v+e1RRHrYj19u/uwkjyVidY3auvPL38MiXtYq8ldl1TdJUb2XJLUvkG2v6Fp9no441nWlpK0ipo+0bfHthtJVKTIV5ap9sfOK5BW/42u2ewZxuTt33MWOI05CfOefX3dHV34e9avI+ZC7OqIxKXr49vQNz1SfS3pr7MNHzyUYtdKbejyredbyrLU5zbM2+ncEz1rneNYu989SnrU8a/X3Yz2etdV+ecx1MwsJGMGIOcAcYA5kz4FQYmalRdY6saOjoy2zhq0J2mL7kZGRxBq3165dc/Ve3xZpa/8zZA8BCEAAAi1JoBX+c9rqXyRLjH2ydZv7cOPWkq8vOnaVFK5pmWgTIi1K7XzWPi1ArU4JQkXxSkZKgioNrvYmC3Ve27Guk+7zrzriqiUOP9q4xZ3q6fXn1Jd8euSX3EttK73oUznVL7GoTSL0lTfWVC1tlT55x85vfV90nN4kNUNpK0n76ZZtXniGUbC6N0o1LXk7PDLqqxETS4+s9MKS1WlJqTY3bNoaS1pF6Uq8tr35jo+yVaSMvszVGBWpq+3s+QteVIupBPnO737w5/ce+MnppU1Rz7pH4qWXxLT6o/omp6JIbGOu89qyxqb78MxLy33a50XPL/VtqQ69xMGiq61t9VUy9vLgkO9j5/EuX7edV33a0u/9yRr+OLftgJeCEoOlXipXajM5mC5T7Hy6nN6PHDvnJarEokSkhJ7kaLHzYR1qR6mMJVAlNxWNqZTJ2iQe9d7E3rWBaJ6d+eQ7L/3CevTl96GXP/OSUXUdfaPdXTnU4wWlZKhF2haTtoroPbs5mlcag9IsK5pW4ljtaZOkNVErGevFdNgJHd+544WoDsXjp6WfelkZFpMQtjolLiU/L+3qdIdXbE5IWwnwLf/4pBvvKUz1nSVt4/TI/7DAffnPL7nrw1H64TAN8me/fdRd3hP98kmx85K2YqdI5YnegVju6vjYmi/8GDVOiV3d42Ln09LW3kuw635MnB/ybVh/QkatdFyPZzXP2mRa/1L3l2ft0kTGCZ610XPenqE8az/2zxaetTxr7Rlsz1b920ebvb8bn7UIhWyhABe4MAeYA8yBxsyBmYTt1NSUF6DFBGmrnpdkHh8fdxMTE05jqLe4RdqW+t8wn0EAAhCAwKwTqMcXwbX+46vVv0iu100ywZqur5i01RqwtuasrQdbzhfJStOsFMqStqp7yasrfcSnInz1UkSpbZKXkrESidrCvigt9L6Dh3yk7eTklL/W5KfGoshhfYEZbun+6bOsc1qjVnVIPn7W/kVYhT9OS1sroOhRRb6G7aqfh48ed88uXeEOHjnq61Wb2jQuRSKnI23DdMhWt4SoxKxEtdIIa6wao8lVvVcEqxiF0lYC26Sttaf7Jpks6avy2pRee+uXX3uOLyx/3UflWtvah2PTmJReWX1Snbqf1g+Jd0UGS/YqFbNktXior7rXH29uj2W0fcFsfUi/D9ufzeNicjbr/O0bt5yiXE0SS+5pU4SqyUy9/+mlT7zQLHY+HG8obXVeIu+rf17qNv3Hx932//GiO/XRbnf1TL9hCslvAAAgAElEQVTb/+wHccSqBK2karhZamSdM2mrdM8Sub1b980obSVhtbasIo71kmyVJA6l7bnP98fjDKWtrVVrPLQ+7fG3tvt6vvjvLyTkbpgaWX3Vl6uStvoCXhGnve0/xpJUaYwleA++GH1JH45X1xWLtL3z9zvuwlc/RZG2d+7E9el6v37iw2+5m2NTRc9rHLovSrEsfopq1ntJao3HGFl0drHz9sVx1hfJEvVf/s+X3OHlGyMJHA6uxY7r8azmWZstbXnWFma1CJ9H9qPAs5ZnreZCsWdqsfM2f7TnWcuzVr9s1cpbPZ61tf6/mOsbIzXgClfmAHPg1zoH0tJWaZH1kuSU7FSU7eDg4JyJsjWJPDAw4GWzxK3GYOLWxqeI4nDsld5fpG0r/4uMvkEAAhCAQEukgeKL5OwvkrOmp2Sm1p61TdJVglHbD/sPugXPvOhT8CpVrzbJumLr5UrgKcWxRc9aeUVs6jNtEr8qc3lg0O8tWrQWaauo32WvvxmnR35xxRtxmmLfqHM+yjaMtLXzJjAv9hVG/Q1eGfYRtz295xJr2obr4IZjUqrgrE3SW+vmDo+MFZW2165Nu6WvrfZSPSuS19qxiOcLl/py6ZinfJNaY1eplMOt1NjEwsrrnuge6d5Lfkvs6n5J2irCVimdJZ+1pSWtxqxU2KVScId9ataxvshV+tv0Vux8upzep78wllCVyCt2Pqwj/UVy+JlFtqalrUSqokRtuzV53X0//+04stSkrfaKApUctGhe9UvCVZs+t7VVdU7Rrunt1sS0++p3y7yo/u6hNfGav+qbT6Gcu8DqHTvV575/5G0vRfWRGOgz2671j3jxHYpMSVttivZVymhFFxt/RevuXbTeKU1yuJWStionJoqUTa9dq8/UnhjGaY9zFdt5k7YSyUqlvO2/LI6l7Yl3vgq74Y81vqzzaWmrMUlwa+y6H4qwlZi2yOqCilvkRD2+SOZZy7PWsm7YtC72C1Klnkc8a3nWhr8gxbOWZ63+PuFZiwyp9MtyyjNnmAPMAeZAfeaAicvZSIt89uxZd/r0aae9ydZ67oeHh8tOk1zpfELa2v8I2UMAAhCAQEsSqMcXwZU+HNPl7/YvkvUlqsSoZJwiWfQqtkmWmiTUl6qKKFW0qq7Rce/5i25iciquQ6l8tXarpT/WNbdv3/bVKzp087av4qhMnZTkDaWtvpyVDJyanvayz+oJ0yNfm552ekkQRrIzSh9rY0hH2ipSVKmRbVPUqM6FW/hFsvp87sJF308JVY1H8lHnDxzu9Cmgda36ptTBKmuRtjqvdXmVPlnltZ0+2+vHaO8lPRWpqzFoU4Sryk9MTblXVq6Jo2glQpXuWBGuikLa+Pl2z8sEt65VXVpHWJuk6sb27f44XOtW5V97a52XsMXGpqheyXndV5WxNMu+Mud8WmnJbrWhLZSzmgMSyiOjY4nz6pvEfjrq2Oqczb3JwXQfQlEqcajozWKbUuTue+pvPmWjJKciZCXyip0P60lLW0XzWpplRdcqMlTpkbVerdIcK1JEclGy1bbhzl4vNm3tWElBpUf2YjRXXlGpeh+mUVZ9WqdWX3gqqlSRrmpbm/qhtrTWqupSGV9frlGlTv5u3pvu5tXolwFM2tre13H9pl8jV+ds0xfuna+329s40lYn1Lbks8YW3hf1U+vITg+MJa4rFmmrQlOXhv16xWIXylm1IRGre1PsvElb1aM1gT/77Xzfn/GzA27XX95wusfafrnxs58Xxc6HXyRr/hx78wsvpsXRZPlo1wUvxcOx+cpb6I96PKt51vKs5Vl7x4X/juBZG/0lx7OWZ61mAs9a1rRN/x+d9/URKnCEI3OAOdCoOWDCVntJW0Whau1Xi7JVamFFrNZDpPb397uDBw+6d955xz3xxBNu3rx5BS+dX7Nmjdu/f79T+VrbVd/HxsZKpkkOGVTC+V/pP8e8YMAcYA4wB5gDzAHmAHOAOcAcYA4wB5gDzAHmAHOAOcAcYA4wB5gDzAHmAHOAOcAcYA7UMgc6OzudXkeOHIlfhw8fdocOHfKCtbu7u2ZxKvm6Y8cOt2jRogJJmyVu7ZzK67pa5e2JEye8BD5w4IAfk8amMYZjNg6VsPzVRNq20C+a0xUIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI3FUElEnNXpaxT1nalBlOEaeKQK11Lduuri63dOnSimStSVvb63rVU23UrcagyGFFEWtMGpvGqLHauI2D9uVuSNtySVEOAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhDIJBCKSltWS0uhmbSdnJysWpRKsO7du7fi6FoTten9woUL3Q8//FB1f65everTPisFtElbjdXEbcgiE1bGSaRtBhROQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC5RMwUWnRphKYEpkWZTsyMlK1JNXatRKtaflay3vVp3qribgdHh4uiLYNpa0YGI9yCSJtyyVFOQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAIJOAScpQ2lqUrSJSq02NfOrUKbd48eK6CluTvapX9VcqbgcGBmJpG0bbWqQt0jZzinASAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhBoFAETttpLWFqUrUnbqampisWoidT169c3RNiauFX91lYl+/Hx8bqmSCbStlGzk3ohAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgcBcQKCVtb9686bQGbCVC1Mp2dnbWbR1bk7Tp/aJFi5zasTbL3Y+OjsbRthqjBHWYIjlkUs4UQNqWQ4kyEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAJoFQUIaRtrWuZ7t169aGRtmawFU75cpaKzfTurYhk0xoqZNI2xQQ3kIAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAuUTMEEZrmerqFNJW635euXKlYql6MWLF11bW1tTpO0bb7zh+vr6Kurj0NBQHGlr69qGkbaVrmuLtC1/vlESAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhBIEciStraerYTm4OBgRUJU0aw9PT3uueeea4q0XbJkievt7a2ojwMDA05r9U5PT3sxLUGtMWs9X5PXxiWFK/Mt0jYTCychAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIFyCJicNFkpcRlKW0spXMn+9OnT7qmnnmqKtFU7aq+S/qks0rac2UEZCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCECg4QRCaSthqzTBd6u0DVMkG5dybgCRtuVQogwEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIJBJwOSkIm3rJW3PnTvnli1b1pRIW7Wj9uoRaYu0zZwinIQABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAdQSuXr3q1zpV6tyjR4827aX1XK9duzYrL61BK/laydYIaSuBumbNmqZI29WrV1csbIulR0baVjJzKAsBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBEgQkbCVP+/r6mi5PJYhv3bo1Ky9JWwnjSsTtTNJ2cHCwKim6e/du99BDDzVU3Kr+r7/+uuL+DQwMZK5pi7Qt8UPFRxCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCohEBvb6/r7+9vurCVMJ1NaStZLHGrV7lbKG0tRXK4pu3Q0FDFUlSRrGfPnnVLlixpqLR99tln3cmTJyvun0T01NSUm56e9qzETWNWemgx0Mu4lMORNW3LoUQZCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBu4qAUiLPVori2Za2EpAae7mbyUmTlRKXobQdGRmpWIra+rI7d+50jzzySEPEraJsN23aVFXfrly5grQtd4JQDgIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALVEJA4RdqWRy5L2ipNsEXtKtW0SdhK95cuXXJr165tiLR95ZVX3Llz56rq2+joqJ8f169fjyNtw9TIRNqWN3coBQEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIGiBJC2lUfaSt5KVirS1qTtzZs33eTkZFVi1ASvxOrKlSvrKm6VFrm7u7vqfklES+pL2mqMEtShtDWRrX05G+mRy6FEGQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgbuKANK2dmmrFMkSmhKbWgPWJGw1+/Pnz7s1a9Y4pTSeN29eTS9F2Cr9dTX90DUDAwNeRIfSVmNF2t5Vf0UwWAhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgUYTQNrWR9paiuRa1rU1udrf3+927NjhFi5cWLW0feyxx9yhQ4eqFrbqS7H1bJG2jf6ppH4IQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIG7igDStnxpq4lh6YCVHtlSJCv61KTtxMRETaLUxK32Spf8/vvvuwULFlQsbxWpu3v37pr6MjY2FqdGvnHjhh+jxqq00DZ+41HuDw3pkcslRTkIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIG7hsBM0nZ0bMxdHhhw2itNbj1faluys54vpSnWOqzj4+PORGOp+jWeSjaTlCYt0+va1iNFcihudXzp0iV34MABt379eqc1ah955JGyJK7Wx9W16frKeZ+VGlkcwyhbMTAe5TJE2pZLinIQKELgxs2bbt3699xD8xe4L3fs8L9BUaQopyEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEJgjBGaStu2ff+F+9/v7nPZTU1Ou8+hR98KSpe6+P/7Jn//9fX9wz7+4xP106LD/vBKpW420lYw9c+aMO378uNP1eum4p6fHy1oJ266uLnfixAn/vpSw1WfVSlvJSou0lcgMo20VoVqOGK1HGUnZtWvXZkpcyd09e/ZU1Reledb9np6ejuV3revZ6kcCaTtH/mKgm61L4OTJU+7Bh+b71xNPPeMGB4dat7P0DAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgbIIlCttP/lso1u5+k0vaiVxs16vrGhzw8PDZUfjVipt+/r6ErLWpK3tjx075i5evNhUaWvi1qStIn0bEW1bSvBK3G7atCkzjfKqVaucuJW6Pv1ZsSjbYqmRJbDL3ZC25ZKahXIj7fPcPb+Z5zZnOMCjbfcW/axkVzvbMq477pb/5l63vDO8ctRtfuBed3/7aHiy4mPfz7bjFV83ly7o77/sFj35tJe2y199zV2bnp5L3aevEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAATqRGDI7duywXV016m6u6GawX1uy4YO13U3jLWmMXa5jg1b3L7BXCXdHW7Dln0uQ5/U1Er64nKlrUnah+Y/6r7f84NPP6wo1cnJSbf/wAH3yKOPeZG77JUVTlGa5UTcViJtJSYlZXXN6dOn3ejoaJxWWcc6Z/JW+0ZF2oqfpQROp0iW1JS0VVpmRfymZWij358/f95t377dp1DWmrbz5s1zixYt8twqaVs8wyhbjSkdZVtNamSxQ9qmfwJb6H0kbbPEaSRZiwnd0kPIELRe5N7r7knIVZXLFsal609+ejdIW41Y+eoVcTt9/XoSAO8gAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCPzaCHjRuMFt2BC9tvxo6gxpW/GtbpC0Hfpxi8vfl4p7VdMFBW3n5kttMr/1pe3CRU+5vr7+TCGr8/pc6ZI7du7KLJMWueVKW6VEloRV+d7eXi9G02mPJRb1mYnbZkjbUimSFW07NDTUdHFrclaSW2mkz549W1Ef1GeJeN0rjcHWBU5LWxPXlUTZ6ocOaVvTXz2NvVjS9v62Nnf/A+1uJGxKkvWBNrf8gWqkamEEbWY7Q+3u/t+0uaNhu1Uc3y3Stgo0XAIBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYO4RUIRjGPHonOvqsOhapG3FN/RukLYVQ8m6oPWlrUXbav/W2nUFYvb48RPuj3++3z373AtlRduWK22V8lhlT5065UViKGwHBwfjCFwTtto3Utrq7pm0LBVtK/lpEnWu7CXIGxVlK25I26yf/RY55yNt29rd5pSclQi9v709iISNomcLUhlnpkJ2LilSJXElf1ORtV4MJ2WxRf7e85uM1Mwmef0+/3myLedcLqo37mvufVRnmKI5ksvLO6O9fZ6MBnYu2adSUcnq073unoQAj7hZ3XGfqrj/+otHv1VR6W9NVNEUl0AAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQmCUCEmcmaLO6YNI2KhdF4qZS/3rpa1G6Qbpbp2u3uH3dShdsn5e6NlemwxILh22m67X6NmRHnyYih8NrIyFtEcX5dLwZHHwd+WsVbRpfF/cxYibJbZ9t6egokR454mllNwT1qI5EJG2QLjisX9fmI1xDRuF556Lo2C6f3jpqLxpLvq782PwoEszydeXLR2OM2la7yesTfMI0x0XnR6qOYLy+rrAOF40n5JU1W8s5J8GZjoAN3ytqVqmP068PP9pQcJ3S6r740jL357884E6dOl3weVivjtV2KGCLHVvqY8nbdBlFhkrQpl9dXV0+hXO6fPq9+lHNZtJWe/mTX375xb8Ukao2bG3b2UiTXK0gDtMiywdpDBqLxmTjC9MiV+OLkLbVzLYmXRNJ2+NeTOaFoslV2+c64+VnMjK2QJhavxNCVvXoOpOkUSFr2y6J5GhQv28viPQ1WZuQoilB7MsE17hImubX0rW+qFWTtUH5XBsxC/UhTOmc7lOu/rDM0fZ5brNfuzfddtReXLcNvIz9xMSkW/Ha635N248/3ehu375dxlUUgQAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAwxwjMGBVqktFka/Q+lou6PiUe82Itd20s3zKuDcRfJBktLXNKoqodqyeQe6Ld1WF9y7NPCtAu15Hro9pIC09770VhMBandoLr8oI3jETOycRgDVtfT/A+3ytdF4hOzz7/Ptln53z7NuZc9HPM3VeawSgQulE/kvWHwjc53i7XEbTlPwveF/TNJYVresxD3ftcl9aqLTk/knUkx6u5ku+7s18AsPVvQ6gVHs8kbdOidab3isBVJO7Bgz/VRdoqWlUCVuvZKqo2LV1rfV8vaWviVv7ExK1SC0t+SoZWK1Kbdd3w8HBZaZGRthX+gM2l4rE4law0GRoLV0nHQGhmCtDw82DkoTyN68tFrXoJmhaYacEZ1ZWQwmGdQVP5Mkkp7IsUuSa6PN2H6KxnYiyCdqLDZD9LlY3ZhnUELMLTMx1rLdsHH5rvX4uefNr191+e6RI+hwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAw9wj4KMhC6ZkfSCRaTWzqfFL25Uv6o4RQneHaRNmUpAyEadRCXuKlBWGqB+phFF0aCtjCQv5MQkZ6iZpnoc+icefbjquJ+1c4Ri8qi0jb+Hp/kLw20Rd9nuKT/jwtVnVJeG/CY99cqr50/b6M/ZHBolAYm1RNjsOqyNwn+lBK2ibH4pkGEjmz7jJP1lPaTkxMuDdWrXZ/+NNf3PETXXWRtpKeJ0+e9NJWArNWSZu+vlppK7zpaNu0uFWkqsTt9PS0TxfdLAFbaTtXrlyJha36qj6r7+l1bGsVtmJGpG2ZP5izUSwvFiUwIwGrc1E0aFrahtI1l4a4DLmZry+8JlV3Ebnq+2dtFClj0tbvM9bI9XX4dMtBFK+HXULapurJ1xGlQLZoWWs7695F/cmlTPbtZ6VPzrqy8NzY2FX3wpKlXtqufeddd/PWrcJCnIEABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMNcJpORc4XAKhVyBDDRJaimQY7k207VJaScpmYhstfrivUnCXARn7nwolMP++376MnkR6z/3Yw7SGf9o0b1hf9U3u07H+fLJ1MbJMeTrt2vDHuWOJS6D+qz/aSmblqrpzwvvQ0505vgXfJ4QpoVSWL3z9yDuW34M6bZdItI2g0Fi2BHXeMzx/Ehdl+5fMDc1lqQ0TjRQ0Zt6SttLly65h+cvcA/Nf9RdvHipLtJWkrWnp8enUj579mxLSVuBTotbpREOo21bXdwWE7binpa24VgrmmRBYaRtAKPVDr2MzKX/1fH97cdjeet8ZG0qktaL00h+SkqavCwcV16Iqlycntiut71dWJB2OPogkqU52VpK2ubWwL3/gXuT6YytfhesTWsSOJceOT0G36aV8W2G69TmxxWnVw7TJ8ftheXikzUdTF+/7i719fnc7DVVxMUQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABFqWQCQkTRwWdjMUmdGnCRnoxVogUxPibYZr05IwlnmpKMvCTgVnUuIv+CQ+DPrk+x60k5aR8dh0TRypW6qNDH6BbIz7kDvwUjSuN8kn3ZeypG0wFjUR9z917JsPOBS+T40jNYaCvhVIW4tKzg3UdiXnR4prun+5+dHRLU7BHLO6q9zXS9pOTU25rZ9v86mR31zztlPU7UyplNV2OvI16/3AwICPtNW6tSMjI2Vdk1VP1rlaIm2FPBSZikRNR9uqzVDctlKq5DAlchhhqz6nhW09omzFC2lb5Q9qMy4Lpa0zQRlLyFQ0bK5DkYTN/izsc1R3WyrFciQzl7e1uXtMjPqLVF8gd4O24vViS0rb0mI37leijmyx6iNkcwzC46iO5DUJwRs3Eh2U+ixVlLcQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCBgBCTLgrVldVqSLp8a2I6jC4qLwUhC5td+TUpJXR1eWzrlbUoi6trBKCJ26McOty9e27SwnE+P3LHPWfysl58+ajbVHy8UN6QiOFVfh+uIxx+MOSFIh9xQrg9exAaf+fdxlG50ffRnhqRMr0Eb1xONK88yFwUbC1/VmBp7bjwm4BOsVTwtRcP34XEs05ORtnmJbW3nRapvKxxzd5frSt9vi8hOjDFfR0H/4j5vya9nrHM1bpVI28NHOt3OXbudBG0oZPX+yx073H1//JP76wPz3JkzZxKfh2XD43KlrVIkq06V1/q2WeJW53p7e33fsuRssXO1Slvhr1TcXr16ddbXuJU81nrBGn+zhK1YIW1r/IFt5OUJaZuLPI2jYrMibdUZHxUbRp8W6WGRcl6EKjI2lsPR9b4vYVridPRtQrjm20yLVf/ehLCuCdvxdVqa5EjA3lOizURdzjnrez46N5LN4VhG2tvdUd+9ws/c0HF3NH4y58dQztHo2JjT2rb6jRA2CEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAK/agJe3AYpgDu6cpI0JToLRFxOLvqUulvcvu59gWCb6dp0Ot6ofZOOJiUtre6WLftclxtyXd37EumKC9LmDna5rh/DFMQpMWjpf1VfRtrdYtI1EpPGaItTBGi0ReO0fnZ0i0leeIbzJlFHR1cgx1UqZNnhuiRhY8GZTAmdH3N4TXG57vuQErNJSTrDGHJCWGOM2la7AddY9Ob4KDK2Oz2m7PkRi+miEt3aDElWf1yutL1w8aJPffy739/nHlmw0H26cZPbt+9Hv1+w8AkfYau1bPfvP1CWsJUsLFfaSrgqcre7u9tfc+zYMb/O7YULF5xeWvNWdemlVMrFBG3W+XpIW9GvVNxKmA4NDTVd3qrN8fHxWLw3U9iKE9K2+p/Vhl+ZlLbp5opF00YyMi8u09fl3nvJWihnTfpmXR+JW1sHNis1c+qcidRQzHrZHEnlM53H3eY2q0/78HqLmm33Ub735NadzUtrjSMnXoPPJG6TfU+WuUdrA3cak9Rnv5nnlneO2odl75XT/JnFL7CmbdnEKAgBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoEICkoiJyNFUJG6F1VH810hAMjkph2sdZbnSVnKz99w5t/j5F72glbwNX48/+bQ7eepU2cK2Umkr4er70NvrUyWbpLW9RK6Ercpkydli51S+HlsobXVsaZKLrXGr6GEJ07GxMTc4ONhweasU0xZdq8hota0+3LhxwwfriU+YEln9TqdE1rhq3ZC2tRJsteuLRLy2Wjdn7o9J28ol6sx117eEImwffGi+fz3x1DNuMJd2o76tUBsEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgbuXQEH63lz63HwU6d3LhpFHBArnSO1kKpG2EpwSfpf6+tzub79z73/wodu1+1t3/sKFOHJTZcp9qe1iMrXUefWhv7/fS1qJ2suXL3sJWeqaYp/VS9rqTlQrbtUHCdVGyFvJWqWOVmSvuKmt2RK2YoS0rf1ntqVq8CmCE5GtLdW9Cjozd6StfpDfWPWmm/fwo27L1nb/2xUVDJSiEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMCOBZErefOrdGS+kwK+dQJyOOTvNdC3Dr1TalitkyylXrbQtJmCrOa9+1nPLErcWdXv79m0fzaqIVvVVy1Eq0tWibtUXrXc7PDzsJFslo6t56VplUFUUbzmyNoywVV8bEWFrjJG2RmKO720913tsvdg5Ph6XW8M3mep4zg+KAUAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIDBHCCBt6yttddtnErcmb0Nxm5a3Erhae1YRuJK4Wos2S+TqnCJ0JWlVVtI3FLWqJ4yszUqHrP5YOuRGCluxQZWsnFsAAAR/SURBVNrOkb8Y6CYEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYDYJKLrVXtYPe6+9bZxzMSe4RHNmtueGtV/pHmlbf2mre1BK3Ibr3IZRt2HkbRh9K/Gql7KilnpZuVDUhuvWqn6JYrUZRtc2S9iKC9K20p9QykMAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCPzqCSBtGyNtNXGKiVtLl5wlb7OibyVeTeIqarbYy8qZqA2jameStY2OsLUfJKStkWAPAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgRwBpG3jpK0Qp8Wt3kuQpsWtpUy2yFtJVhO4FoErCTvTS2UtotbqCCNrLRVyqeha9bFRG9K2UWSpFwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYM4SQNo2VtraxEjLWxO3oby1yNtQ4KYlronYUnuTtNqrrlDUhrJWbaf7Zf1t1B5p2yiy1AsBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIDBnCZw+fdqvlxquh9qsYwnjUvKxGZ9prM3a0oJU70N5W0zgmngNZWzWsZWzvQStvdLtZPWlGRyQts2gTBsQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAJzikBvb6/r7++fFXE729LWUg03+4ZlCdO0VE0LXJOv2puUtX34WXicVWdW280cP9K2mbRpCwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYE4QuHr1quvp6XF9fX1NF7ezKW0lbBVlK7E5G1uWPLVzWbI1PBeKWR2Hn2UdW71Z+2aPHWnbbOK0BwEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMCcISNwq4lapkiVSm/WSLG5WKuZ0O5K2EpytsGXJ1PS5LBmbdS59Xdb72Rwz0nY26dM2BCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQkkCWYK3nuZKNN+lDpG2TQNMMBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQO4FahW3tPah/DUjb+jOlRghAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAJlE0Dalo2KghCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAATqTwBpW3+m1AgBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCECgbAJI27JRURACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBA/QkgbevPlBohAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIlE0AaVs2KgpCAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQqD8BpG39mVIjBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgbIJ/H/KDNnMEbNnnAAAAABJRU5ErkJggg==)\n",
+ "validation_file = glob.glob(f\"{artifact_valid_path}/*.table.json\")[0]\n",
+ "with open(validation_file, 'r') as file:\n",
+ " data = json.load(file)\n",
"\n",
- "Anytime we have new fine-tunes, we can just call `openai wandb sync` to add them to our dashboard."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Run evalution and log the results"
+ "validation_df = pd.DataFrame(columns=data[\"columns\"], data=data[\"data\"])\n",
+ "\n",
+ "print(f\"There are {len(validation_df)} validation examples\")\n",
+ "run.config.update({\"num_validation_samples\":len(validation_df)})\n",
+ "\n",
+ "validation_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "The best way to evaluate a generative model is to explore sample predictions from your evaluation set.\n",
+ "We will need to package the data in the dataframe in the format acceptable by GPT 3.5. The format is:\n",
"\n",
- "Let's generate a few inference samples and log them to W&B and see how the performance compares to a baseline ChatGPT-3.5 model"
+ "```\n",
+ "{\"messages\": [{\"role\": \"system\", \"content\": \"some system prompt\"}, {\"role\": \"user\", \"content\": \"some user prompt\"}, {\"role\": \"assistant\", \"content\": \"completion text\"}]}\n",
+ "```\n",
+ "\n",
+ "For evaluation we don't need to pack the `{\"role\": \"assistant\", \"content\": \"completition text\"}` in `messages` as this is meant to be generated by GPT 3.5."
]
},
{
@@ -693,19 +700,17 @@
"metadata": {},
"outputs": [],
"source": [
- "wandb.init(project=WANDB_PROJECT,\n",
- " job_type='eval')\n",
+ "def eval_data_format(row):\n",
+ " role_system_content = row[\"role: system\"]\n",
+ " role_system_dict = {\"role\": \"system\", \"content\": role_system_content}\n",
"\n",
- "artifact_valid = wandb.use_artifact(\n",
- " f'{entity}/{WANDB_PROJECT}/legalbench-contract_nli_explicit_identification-test:latest',\n",
- " type='test-data')\n",
- "test_file = artifact_valid.get_path(test_file_path).download(\"my_data\")\n",
+ " role_user_content = row[\"role: user\"]\n",
+ " role_user_dict = {\"role\": \"user\", \"content\": role_user_content}\n",
+ " \n",
+ " return [role_system_dict, role_user_dict]\n",
"\n",
- "with open(test_file) as f:\n",
- " test_dataset = [json.loads(line) for line in f]\n",
- "\n",
- "print(f\"There are {len(test_dataset)} test examples\")\n",
- "wandb.config.update({\"num_test_samples\":len(test_dataset)})"
+ "validation_df[\"messages\"] = validation_df.apply(lambda row: eval_data_format(row), axis=1)\n",
+ "validation_df.head()"
]
},
{
@@ -713,7 +718,10 @@
"metadata": {},
"source": [
"### Run evaluation on the Fine-Tuned Model\n",
- "Set up OpenAI call with retries"
+ "\n",
+ "Next up we will get the fine-tuned model's id from the logged `model_metadata`. In the overview tab of the run page, find the \"model\" in the Artifact Outputs section. Clicking on it will take you to the artifacts page. Copy the artifact URI (full name) as shown in the image below.\n",
+ "\n",
+ "![image](assets/select_model_artifact.png)"
]
},
{
@@ -722,16 +730,28 @@
"metadata": {},
"outputs": [],
"source": [
- "@retry(stop=stop_after_attempt(3), wait=wait_fixed(60))\n",
- "def call_openai(messages=\"\", model=\"gpt-3.5-turbo\"):\n",
- " return openai.ChatCompletion.create(model=model, messages=messages, max_tokens=10)"
+ "MODEL_ARTIFACT_URI = '//model_metadata:v*' # REPLACE THIS WITH YOUR OWN ARTIFACT URI\n",
+ "\n",
+ "model_artifact = run.use_artifact(\n",
+ " MODEL_ARTIFACT_URI,\n",
+ " type='model'\n",
+ ")"
]
},
{
- "cell_type": "markdown",
+ "cell_type": "code",
+ "execution_count": null,
"metadata": {},
+ "outputs": [],
"source": [
- "Let's get our trained model id"
+ "model_metadata_path = model_artifact.download()\n",
+ "print(\"Downloaded the validation data at: \", model_metadata_path)\n",
+ "\n",
+ "model_metadata_file = glob.glob(f\"{model_metadata_path}/*.json\")[0]\n",
+ "with open(model_metadata_file, 'r') as file:\n",
+ " model_metadata = json.load(file)\n",
+ "\n",
+ "model_metadata"
]
},
{
@@ -740,9 +760,8 @@
"metadata": {},
"outputs": [],
"source": [
- "state = openai.FineTuningJob.retrieve(ft_job_id)\n",
- "ft_model_id = state[\"fine_tuned_model\"]\n",
- "ft_model_id"
+ "fine_tuned_model = model_metadata[\"fine_tuned_model\"]\n",
+ "client = OpenAI()"
]
},
{
@@ -762,16 +781,15 @@
"\n",
"eval_data = []\n",
"\n",
- "for row in tqdm(test_dataset):\n",
- " messages = row['messages'][:2]\n",
- " target = row[\"messages\"][2]\n",
+ "for idx, row in tqdm(validation_df.iterrows()):\n",
+ " messages = row.messages\n",
+ " target = row[\"role: assistant\"]\n",
"\n",
- " # res = call_openai(model=ft_model_id, messages=messages)\n",
- " res = openai.ChatCompletion.create(model=model, messages=messages, max_tokens=10)\n",
+ " res = client.chat.completions.create(model=fine_tuned_model, messages=messages, max_tokens=10)\n",
" completion = res.choices[0].message.content\n",
"\n",
" eval_data.append([messages, completion, target])\n",
- " prediction_table.add_data(messages[1]['content'], completion, target[\"content\"])\n",
+ " prediction_table.add_data(messages[1]['content'], completion, target)\n",
"\n",
"wandb.log({'predictions': prediction_table})"
]
@@ -792,7 +810,7 @@
"source": [
"correct = 0\n",
"for e in eval_data:\n",
- " if e[1].lower() == e[2][\"content\"].lower():\n",
+ " if e[1].lower() == e[2].lower():\n",
" correct+=1\n",
"\n",
"accuracy = correct / len(eval_data)\n",
@@ -817,17 +835,18 @@
"outputs": [],
"source": [
"baseline_prediction_table = wandb.Table(columns=['messages', 'completion', 'target'])\n",
+ "\n",
"baseline_eval_data = []\n",
"\n",
- "for row in tqdm(test_dataset):\n",
- " messages = row['messages'][:2]\n",
- " target = row[\"messages\"][2]\n",
+ "for idx, row in tqdm(validation_df.iterrows()):\n",
+ " messages = row.messages\n",
+ " target = row[\"role: assistant\"]\n",
"\n",
- " res = call_openai(model=\"gpt-3.5-turbo\", messages=messages)\n",
+ " res = client.chat.completions.create(model=\"gpt-3.5-turbo\", messages=messages, max_tokens=10)\n",
" completion = res.choices[0].message.content\n",
"\n",
" baseline_eval_data.append([messages, completion, target])\n",
- " baseline_prediction_table.add_data(messages[1]['content'], completion, target[\"content\"])\n",
+ " baseline_prediction_table.add_data(messages[1]['content'], completion, target)\n",
"\n",
"wandb.log({'baseline_predictions': baseline_prediction_table})"
]
@@ -847,7 +866,7 @@
"source": [
"baseline_correct = 0\n",
"for e in baseline_eval_data:\n",
- " if e[1].lower() == e[2][\"content\"].lower():\n",
+ " if e[1].lower() == e[2].lower():\n",
" baseline_correct+=1\n",
"\n",
"baseline_accuracy = baseline_correct / len(baseline_eval_data)\n",
@@ -881,29 +900,22 @@
"# Resources\n",
"\n",
"* [OpenAI Fine-Tuning Guide](https://platform.openai.com/docs/guides/fine-tuning)\n",
- "* [W&B Integration with OpenAI API Documentation](https://wandb.me/openai-docs)\n",
- "* [W&B Report: GPT-3 exploration & fine-tuning tips](http://wandb.me/openai-report)"
+ "* [W&B Integration with OpenAI API Documentation](https://wandb.me/openai-docs)"
]
}
],
"metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "include_colab_link": true,
+ "provenance": [],
+ "toc_visible": true
+ },
"kernelspec": {
- "display_name": "python3",
+ "display_name": "Python 3",
"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.2"
}
},
"nbformat": 4,
- "nbformat_minor": 0
+ "nbformat_minor": 4
}
diff --git a/colabs/openai/OpenAI_API_Autologger_Quickstart.ipynb b/colabs/openai/OpenAI_API_Autologger_Quickstart.ipynb
index b3767dc8..2e793dee 100644
--- a/colabs/openai/OpenAI_API_Autologger_Quickstart.ipynb
+++ b/colabs/openai/OpenAI_API_Autologger_Quickstart.ipynb
@@ -47,11 +47,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "vscode": {
- "languageId": "python"
- }
- },
+ "metadata": {},
"outputs": [],
"source": [
"!pip install wandb openai -qU"
@@ -73,11 +69,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "vscode": {
- "languageId": "python"
- }
- },
+ "metadata": {},
"outputs": [],
"source": [
"import openai\n",
@@ -105,11 +97,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "vscode": {
- "languageId": "python"
- }
- },
+ "metadata": {},
"outputs": [],
"source": [
"# pass your OpenAI key\n",
@@ -120,11 +108,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "vscode": {
- "languageId": "python"
- }
- },
+ "metadata": {},
"outputs": [],
"source": [
"# make some calls to OpenAI \n",
@@ -178,11 +162,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "vscode": {
- "languageId": "python"
- }
- },
+ "metadata": {},
"outputs": [],
"source": [
"autolog.disable()"
diff --git a/colabs/openai/OpenAI_Finetuning_on_Gorilla_with_wandb.ipynb b/colabs/openai/OpenAI_Finetuning_on_Gorilla_with_wandb.ipynb
new file mode 100644
index 00000000..0915d874
--- /dev/null
+++ b/colabs/openai/OpenAI_Finetuning_on_Gorilla_with_wandb.ipynb
@@ -0,0 +1,635 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# ChatGPT-3.5 Fine-tuning - Gorrilla api\n",
+ "\n",
+ "Fine-tuning ChatGPT-3.5 on the Gorilla api dataset to try and improve its performance\n",
+ "- [Gorilla project](https://shishirpatil.github.io/gorilla/)\n",
+ "- [Gorilla paper](https://arxiv.org/abs/2305.15334)\n",
+ "- [Gorilla code](https://github.com/ShishirPatil/gorilla)\n",
+ "\n",
+ "OpenAI ChatGPT-3.5 fine-tuning docs [are here](https://platform.openai.com/docs/guides/fine-tuning)\n",
+ "\n",
+ "**Warning!**\n",
+ "\n",
+ "This fine-tuning script will train 7.2 million tokens on OpenAI, check if you're willing to pay that before proceeding :)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install openai tiktoken wandb -qqq"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import re\n",
+ "import os\n",
+ "import json\n",
+ "import wandb\n",
+ "import openai\n",
+ "from pprint import pprint"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "openai_api_key = \"OPENAI API KEY\"\n",
+ "openai.api_key = openai_api_key"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Data"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Download the Gorrilla huggingface api training data, you can find all the [Gorilla training data here](https://github.com/ShishirPatil/gorilla/tree/main/data/apibench)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!wget https://raw.githubusercontent.com/ShishirPatil/gorilla/cab053ba7fdf4a3286c0e75aa2bf7abc4053812f/data/apibench/huggingface_train.json\n",
+ "!wget https://raw.githubusercontent.com/ShishirPatil/gorilla/main/data/apibench/tensorflow_train.json\n",
+ "!wget https://raw.githubusercontent.com/ShishirPatil/gorilla/main/data/apibench/torchhub_train.json"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Load the data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data = []\n",
+ "data_files = [\n",
+ " \"huggingface_train.json\",\n",
+ " \"tensorflow_train.json\",\n",
+ " \"torchhub_train.json\",\n",
+ "]\n",
+ "\n",
+ "for file in data_files:\n",
+ " with open(file, \"r\") as file:\n",
+ " # data = json.load(file)\n",
+ " for line in file:\n",
+ " item = json.loads(line.strip())\n",
+ " data.append(item)\n",
+ "\n",
+ "# This is the data relevant to training\n",
+ "data[0][\"code\"]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Data Parsing"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Parse the training data instructions"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def parse_instructions_and_outputs(code_section):\n",
+ "\n",
+ " sections = code_section.split('###')\n",
+ " instruction = \"\"\n",
+ " for section in sections:\n",
+ " if \"Instruction:\" in section:\n",
+ " instruction = section.lower().split(\"instruction:\", 1)[1].strip()\n",
+ " break\n",
+ "\n",
+ " # domain = re.search(r'<<>>(.*?)\\n', code_section, re.IGNORECASE).group(1).lstrip(': ')\n",
+ " if \"<<>>\" in code_section:\n",
+ " domain = re.search(r'<<>>(.*?)<<<', d[\"code\"], re.IGNORECASE | re.DOTALL).group(1).lstrip(': ')\n",
+ " else:\n",
+ " domain = \"\"\n",
+ "\n",
+ " api_call = re.search(r'<<>>(.*?)<<<', code_section, re.IGNORECASE | re.DOTALL).group(1).lstrip(': ')\n",
+ " # api_provider = re.search(r'<<>>(.*?)\\n', code_section, re.IGNORECASE).group(1).lstrip(': ')\n",
+ " if \"<<>>\" in code_section:\n",
+ " api_provider = re.search(r'<<>>(.*?)<<<', code_section, re.IGNORECASE | re.DOTALL).group(1).lstrip(': ')\n",
+ " else:\n",
+ " api_provider = \"\"\n",
+ "\n",
+ " if \"<<>>\" in code_section:\n",
+ " explanation_pattern = r'<<>>(.*?)(?:\\n<<>>|```|$)'\n",
+ " explanation = re.search(explanation_pattern, code_section, re.IGNORECASE | re.DOTALL).group(1).lstrip(': ')\n",
+ " else:\n",
+ " explanation = None\n",
+ "\n",
+ " # Extract code snippet considering both cases\n",
+ " code_pattern = r'(?:<<>>|```) (.*)' # Matches either <<>> or ```\n",
+ " code_snippet_match = re.search(code_pattern, code_section, re.IGNORECASE | re.DOTALL)\n",
+ " code_snippet = code_snippet_match.group(1).lstrip(': ') if code_snippet_match else None\n",
+ "\n",
+ " return instruction, domain, api_call, api_provider, explanation, code_snippet"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def encode_train_sample(data, api_name):\n",
+ " \"\"\"Encode multiple prompt instructions into a single string.\"\"\"\n",
+ " code_section = data['code']\n",
+ "\n",
+ " if \"<<>>\" in code_section:\n",
+ " instruction, domain, api_call, api_provider, explanation, code = parse_instructions_and_outputs(code_section)\n",
+ "\n",
+ " prompts = []\n",
+ "\n",
+ " #prompt = instruction + \"\\nWrite a python program in 1 to 2 lines to call API in \" + api_name + \".\\n\\nThe answer should follow the format: <<>> $DOMAIN, <<>>: $API_CALL, <<>>: $API_PROVIDER, <<>>: $EXPLANATION, <<>>: $CODE}. Here are the requirements:\\n\" + domains + \"\\n2. The $API_CALL should have only 1 line of code that calls api.\\n3. The $API_PROVIDER should be the programming framework used.\\n4. $EXPLANATION should be a step-by-step explanation.\\n5. The $CODE is the python code.\\n6. Do not repeat the format in your answer.\"\n",
+ "\n",
+ " prompts.append({\"role\": \"system\", \"content\": \"You are a helpful API writer who can write APIs based on requirements.\"})\n",
+ " prompts.append({\"role\": \"user\", \"content\": instruction})\n",
+ " prompts.append({\"role\": \"assistant\", \"content\": f\"<<>> {domain},\\\n",
+ "<<>>: {api_call}, <<>>: {api_provider}, <<>>: {explanation}, <<>>: {code}\"})\n",
+ " return prompts\n",
+ " else:\n",
+ " return None"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Format the training samples with the correct format to mirror the Gorilla paper"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "encoded_data = []\n",
+ "none_count = 0\n",
+ "for d in data:\n",
+ " res = encode_train_sample(d, \"huggingface\")\n",
+ " if res is not None:\n",
+ " encoded_data.append({\"messages\":res})\n",
+ " else:\n",
+ " none_count += 1\n",
+ "\n",
+ "print(f\"{none_count} samples out of {len(data)} ignored\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Print a sample of what will get passed to OpenAI for fine-tuning"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "encoded_data[333]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Save the training data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "encoded_file_path = 'all_encoded_data.jsonl'\n",
+ "\n",
+ "with open(encoded_file_path, 'w') as file:\n",
+ " for item in encoded_data:\n",
+ " line = json.dumps(item)\n",
+ " file.write(line + '\\n')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Start a Weights & Biases run to save our data and results\n",
+ "wandb.init(project=\"gorilla-api\")\n",
+ "wandb.log_artifact(encoded_file_path, \"hf_tf_th_gorilla_train.jsonl\", type=\"train_data\")\n",
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## OpenAI data verification script"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# We start by importing the required packages\n",
+ "\n",
+ "import json\n",
+ "import os\n",
+ "import tiktoken\n",
+ "import numpy as np\n",
+ "from collections import defaultdict\n",
+ "\n",
+ "# Next, we specify the data path and open the JSONL file\n",
+ "\n",
+ "data_path = encoded_file_path\n",
+ "\n",
+ "# Load dataset\n",
+ "with open(data_path) as f:\n",
+ " dataset = [json.loads(line) for line in f]\n",
+ "\n",
+ "# We can inspect the data quickly by checking the number of examples and the first item\n",
+ "\n",
+ "# Initial dataset stats\n",
+ "print(\"Num examples:\", len(dataset))\n",
+ "print(\"First example:\")\n",
+ "for message in dataset[0][\"messages\"]:\n",
+ " print(message)\n",
+ "\n",
+ "# Now that we have a sense of the data, we need to go through all the different examples and check to make sure the formatting is correct and matches the Chat completions message structure\n",
+ "\n",
+ "# Format error checks\n",
+ "format_errors = defaultdict(int)\n",
+ "\n",
+ "for ex in dataset:\n",
+ " if not isinstance(ex, dict):\n",
+ " format_errors[\"data_type\"] += 1\n",
+ " continue\n",
+ "\n",
+ " messages = ex.get(\"messages\", None)\n",
+ " if not messages:\n",
+ " format_errors[\"missing_messages_list\"] += 1\n",
+ " continue\n",
+ "\n",
+ " for message in messages:\n",
+ " if \"role\" not in message or \"content\" not in message:\n",
+ " format_errors[\"message_missing_key\"] += 1\n",
+ "\n",
+ " if any(k not in (\"role\", \"content\", \"name\") for k in message):\n",
+ " format_errors[\"message_unrecognized_key\"] += 1\n",
+ "\n",
+ " if message.get(\"role\", None) not in (\"system\", \"user\", \"assistant\"):\n",
+ " format_errors[\"unrecognized_role\"] += 1\n",
+ "\n",
+ " content = message.get(\"content\", None)\n",
+ " if not content or not isinstance(content, str):\n",
+ " format_errors[\"missing_content\"] += 1\n",
+ "\n",
+ " if not any(message.get(\"role\", None) == \"assistant\" for message in messages):\n",
+ " format_errors[\"example_missing_assistant_message\"] += 1\n",
+ "\n",
+ "if format_errors:\n",
+ " print(\"Found errors:\")\n",
+ " for k, v in format_errors.items():\n",
+ " print(f\"{k}: {v}\")\n",
+ "else:\n",
+ " print(\"No errors found\")\n",
+ "\n",
+ "# Beyond the structure of the message, we also need to ensure that the length does not exceed the 4096 token limit.\n",
+ "\n",
+ "# Token counting functions\n",
+ "encoding = tiktoken.get_encoding(\"cl100k_base\")\n",
+ "\n",
+ "# not exact!\n",
+ "# simplified from https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb\n",
+ "def num_tokens_from_messages(messages, tokens_per_message=3, tokens_per_name=1):\n",
+ " num_tokens = 0\n",
+ " for message in messages:\n",
+ " num_tokens += tokens_per_message\n",
+ " for key, value in message.items():\n",
+ " num_tokens += len(encoding.encode(value))\n",
+ " if key == \"name\":\n",
+ " num_tokens += tokens_per_name\n",
+ " num_tokens += 3\n",
+ " return num_tokens\n",
+ "\n",
+ "def num_assistant_tokens_from_messages(messages):\n",
+ " num_tokens = 0\n",
+ " for message in messages:\n",
+ " if message[\"role\"] == \"assistant\":\n",
+ " num_tokens += len(encoding.encode(message[\"content\"]))\n",
+ " return num_tokens\n",
+ "\n",
+ "def print_distribution(values, name):\n",
+ " print(f\"\\n#### Distribution of {name}:\")\n",
+ " print(f\"min / max: {min(values)}, {max(values)}\")\n",
+ " print(f\"mean / median: {np.mean(values)}, {np.median(values)}\")\n",
+ " print(f\"p5 / p95: {np.quantile(values, 0.1)}, {np.quantile(values, 0.9)}\")\n",
+ "\n",
+ "# Last, we can look at the results of the different formatting operations before proceeding with creating a fine-tuning job:\n",
+ "\n",
+ "# Warnings and tokens counts\n",
+ "n_missing_system = 0\n",
+ "n_missing_user = 0\n",
+ "n_messages = []\n",
+ "convo_lens = []\n",
+ "assistant_message_lens = []\n",
+ "\n",
+ "for ex in dataset:\n",
+ " messages = ex[\"messages\"]\n",
+ " if not any(message[\"role\"] == \"system\" for message in messages):\n",
+ " n_missing_system += 1\n",
+ " if not any(message[\"role\"] == \"user\" for message in messages):\n",
+ " n_missing_user += 1\n",
+ " n_messages.append(len(messages))\n",
+ " convo_lens.append(num_tokens_from_messages(messages))\n",
+ " assistant_message_lens.append(num_assistant_tokens_from_messages(messages))\n",
+ "\n",
+ "print(\"Num examples missing system message:\", n_missing_system)\n",
+ "print(\"Num examples missing user message:\", n_missing_user)\n",
+ "print_distribution(n_messages, \"num_messages_per_example\")\n",
+ "print_distribution(convo_lens, \"num_total_tokens_per_example\")\n",
+ "print_distribution(assistant_message_lens, \"num_assistant_tokens_per_example\")\n",
+ "n_too_long = sum(l > 4096 for l in convo_lens)\n",
+ "print(f\"\\n{n_too_long} examples may be over the 4096 token limit, they will be truncated during fine-tuning\")\n",
+ "\n",
+ "# Pricing and default n_epochs estimate\n",
+ "MAX_TOKENS_PER_EXAMPLE = 4096\n",
+ "\n",
+ "MIN_TARGET_EXAMPLES = 100\n",
+ "MAX_TARGET_EXAMPLES = 25000\n",
+ "TARGET_EPOCHS = 3\n",
+ "MIN_EPOCHS = 1\n",
+ "MAX_EPOCHS = 25\n",
+ "\n",
+ "n_epochs = TARGET_EPOCHS\n",
+ "n_train_examples = len(dataset)\n",
+ "if n_train_examples * TARGET_EPOCHS < MIN_TARGET_EXAMPLES:\n",
+ " n_epochs = min(MAX_EPOCHS, MIN_TARGET_EXAMPLES // n_train_examples)\n",
+ "elif n_train_examples * TARGET_EPOCHS > MAX_TARGET_EXAMPLES:\n",
+ " n_epochs = max(MIN_EPOCHS, MAX_TARGET_EXAMPLES // n_train_examples)\n",
+ "\n",
+ "n_billing_tokens_in_dataset = sum(min(MAX_TOKENS_PER_EXAMPLE, length) for length in convo_lens)\n",
+ "print(f\"Dataset has ~{n_billing_tokens_in_dataset} tokens that will be charged for during training\")\n",
+ "print(f\"By default, you'll train for {n_epochs} epochs on this dataset\")\n",
+ "print(f\"By default, you'll be charged for ~{n_epochs * n_billing_tokens_in_dataset} tokens\")\n",
+ "print(\"See pricing page to estimate total costs\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.summary[\"num_samples\"] = len(dataset)\n",
+ "wandb.summary[\"n_billing_tokens_in_dataset\"] = n_billing_tokens_in_dataset"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Start Fine-tuning ChatGPT-3.5"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create an OpenAI training file"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "openai.File.create(\n",
+ " file=open(encoded_file_path, \"rb\"),\n",
+ " purpose='fine-tune'\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create your fine-tuning job"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "openai.api_key = openai_api_key\n",
+ "openai.FineTuningJob.create(\n",
+ " training_file=\"file-N9M4sC8GfXgTNw0WAwgiLHNR\", #\"file-OrxAP7HcvoSUmu9MtAbWo5s4\",\n",
+ " model=\"gpt-3.5-turbo\",\n",
+ " hyperparameters={\"n_epochs\": 3}\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "openai.FineTuningJob.list_events(id=\"ftjob-ShHWEMHa2U7gRNVTpjOYEZEP\", limit=5)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Log the results to Weights & Biases when the model is finished training\n",
+ "\n",
+ "(temporarily install openai from a fork until this PR to update the wandb logger is merged in openai: https://github.com/openai/openai-python/pull/590)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip uninstall -y openai -qq && pip install git+https://github.com/morganmcg1/openai-python.git@update_wandb_logger -qqq"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Run `openai wandb sync` to sync your openai results to W&B"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!OPENAI_API_KEY={openai_api_key} openai wandb sync --entity prompt-eng --project gorilla-api --id ftjob-mNSsI2UcxCvpV767GmnYoSzR"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Other useful openai commands"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "List 10 fine-tuning jobs"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "openai.FineTuningJob.list(limit=10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Retrieve the state of a fine-tune"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "state = openai.FineTuningJob.retrieve(\"ftjob-qhg4yswil15TCqD4SNHn0V1D\")\n",
+ "state[\"status\"], state[\"trained_tokens\"], state[\"finished_at\"]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "List up to 10 events from a fine-tuning job"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "openai.FineTuningJob.list_events(id=\"ftjob-qhg4yswil15TCqD4SNHn0V1D\", limit=10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Use the Model"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "openai.api_key = openai_api_key\n",
+ "\n",
+ "completion = openai.ChatCompletion.create(\n",
+ " model=\"ft:gpt-3.5-turbo:my-org:custom_suffix:id\",\n",
+ " messages=[\n",
+ " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n",
+ " {\"role\": \"user\", \"content\": \"How can i load a NER model?\"}\n",
+ " ]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pprint(completion.choices[0].message)\n",
+ "pprint(completion.choices[0].message[\"content\"])"
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "include_colab_link": true,
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/colabs/openai/assets/artifacts.png b/colabs/openai/assets/artifacts.png
new file mode 100644
index 00000000..a7d506c0
Binary files /dev/null and b/colabs/openai/assets/artifacts.png differ
diff --git a/colabs/openai/assets/configs.png b/colabs/openai/assets/configs.png
new file mode 100644
index 00000000..c38d3572
Binary files /dev/null and b/colabs/openai/assets/configs.png differ
diff --git a/colabs/openai/assets/dag.png b/colabs/openai/assets/dag.png
new file mode 100644
index 00000000..45d37012
Binary files /dev/null and b/colabs/openai/assets/dag.png differ
diff --git a/colabs/openai/assets/datatable.png b/colabs/openai/assets/datatable.png
new file mode 100644
index 00000000..5edf7dca
Binary files /dev/null and b/colabs/openai/assets/datatable.png differ
diff --git a/colabs/openai/assets/metrics.png b/colabs/openai/assets/metrics.png
new file mode 100644
index 00000000..669f73b1
Binary files /dev/null and b/colabs/openai/assets/metrics.png differ
diff --git a/colabs/openai/assets/select_artifact_uri.png b/colabs/openai/assets/select_artifact_uri.png
new file mode 100644
index 00000000..57179ff2
Binary files /dev/null and b/colabs/openai/assets/select_artifact_uri.png differ
diff --git a/colabs/openai/assets/select_model_artifact.png b/colabs/openai/assets/select_model_artifact.png
new file mode 100644
index 00000000..29a7b9de
Binary files /dev/null and b/colabs/openai/assets/select_model_artifact.png differ
diff --git a/colabs/paddlepaddle/paddledetection/PaddleDetection_and_W&B_Your_one_stop_for_everything_object_detection.ipynb b/colabs/paddlepaddle/paddledetection/PaddleDetection_and_W&B_Your_one_stop_for_everything_object_detection.ipynb
index 05fa664d..8bb85c06 100644
--- a/colabs/paddlepaddle/paddledetection/PaddleDetection_and_W&B_Your_one_stop_for_everything_object_detection.ipynb
+++ b/colabs/paddlepaddle/paddledetection/PaddleDetection_and_W&B_Your_one_stop_for_everything_object_detection.ipynb
@@ -110,7 +110,15 @@
"outputs": [],
"source": [
"\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -376,13 +384,6 @@
"\n",
"If you have any questions about using W&B to track your model performance and predictions, please contact support@wandb.com"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/paddlepaddle/paddleocr/Train_and_Debug_Your_OCR_Models_with_PaddleOCR_and_W&B.ipynb b/colabs/paddlepaddle/paddleocr/Train_and_Debug_Your_OCR_Models_with_PaddleOCR_and_W&B.ipynb
index 12ee49fa..f3fef3e8 100644
--- a/colabs/paddlepaddle/paddleocr/Train_and_Debug_Your_OCR_Models_with_PaddleOCR_and_W&B.ipynb
+++ b/colabs/paddlepaddle/paddleocr/Train_and_Debug_Your_OCR_Models_with_PaddleOCR_and_W&B.ipynb
@@ -94,7 +94,15 @@
"outputs": [],
"source": [
"\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -425,13 +433,6 @@
"\n",
"If you have any questions about using W&B to track your model performance and predictions, please contact support@wandb.com"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/paella/Image-Variations.ipynb b/colabs/paella/Image-Variations.ipynb
index d3556d64..33c0ba5d 100644
--- a/colabs/paella/Image-Variations.ipynb
+++ b/colabs/paella/Image-Variations.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "e6551fcc",
"metadata": {},
"source": [
"\n",
@@ -10,7 +11,7 @@
},
{
"cell_type": "markdown",
- "id": "f25c1396",
+ "id": "7df20a25",
"metadata": {},
"source": [
"# 🔥🔥 Image Variations with Paella + WandB Playground 🪄🐝\n",
@@ -23,7 +24,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "dde43958-b0ed-4bb2-99b7-08cf5a66bf53",
+ "id": "03036e33",
"metadata": {},
"outputs": [],
"source": [
@@ -52,7 +53,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "674111ae-ff8e-41b4-81b4-4961eb625f2b",
+ "id": "e10c4b4f",
"metadata": {},
"outputs": [],
"source": [
@@ -88,7 +89,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "0b15f5b6-9641-45c8-8fbe-709cb26343c2",
+ "id": "4bcf061f",
"metadata": {},
"outputs": [],
"source": [
@@ -99,7 +100,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7e4d1f19-74dc-44c9-8977-99cb573a44ae",
+ "id": "72953d5d",
"metadata": {},
"outputs": [],
"source": [
@@ -124,7 +125,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "12e1580f-6808-4309-b8f1-39b5709e920b",
+ "id": "c1d41153",
"metadata": {},
"outputs": [],
"source": [
@@ -197,7 +198,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "10af9b57-3028-4c26-af7e-73a58df648ab",
+ "id": "2ea9c73d",
"metadata": {},
"outputs": [],
"source": [
@@ -231,7 +232,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e6b81f38-ddba-4b0b-8eb0-1f0c49b0e3ef",
+ "id": "3fb179ef",
"metadata": {},
"outputs": [],
"source": [
@@ -261,7 +262,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f6822644-c7bc-422b-84b3-31ea3923fce7",
+ "id": "d3d53f21",
"metadata": {},
"outputs": [],
"source": [
@@ -281,21 +282,13 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "5979feb4-2524-498a-9da6-477927d57316",
+ "id": "0e163076",
"metadata": {},
"outputs": [],
"source": [
"log_image_variations_results(original_image, sampled)\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "3e85d29a-caf0-4331-ab68-bb33112d4776",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/paella/Inpainting.ipynb b/colabs/paella/Inpainting.ipynb
index ad17db88..ae21ed4f 100644
--- a/colabs/paella/Inpainting.ipynb
+++ b/colabs/paella/Inpainting.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "a51db41e",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "bd4a4bd6",
+ "id": "752bdb8a",
"metadata": {},
"outputs": [],
"source": [
@@ -25,7 +26,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "735c22d8-d4b4-483f-a1c5-3e57b0dd430f",
+ "id": "b128ff01",
"metadata": {},
"outputs": [],
"source": [
@@ -54,7 +55,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "2318c203-2cce-4f2d-9f51-1d094c95c5ee",
+ "id": "8ff4273f",
"metadata": {},
"outputs": [],
"source": [
@@ -89,7 +90,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "066cad54-dc91-42e1-9671-58715daf4c2d",
+ "id": "c3d88d2d",
"metadata": {},
"outputs": [],
"source": [
@@ -100,7 +101,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "db412629-cdaf-492b-b65e-184ebcd0ee62",
+ "id": "44df1809",
"metadata": {},
"outputs": [],
"source": [
@@ -139,7 +140,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "ea8632b6-fdd0-459a-bded-e987a3d14610",
+ "id": "616acee0",
"metadata": {},
"outputs": [],
"source": [
@@ -212,7 +213,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f2ad44fc-ce5d-42ab-aea5-b985f8336379",
+ "id": "d96ec8b5",
"metadata": {},
"outputs": [],
"source": [
@@ -246,7 +247,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "4e0424fd-1561-437a-9bbd-8e648f18df47",
+ "id": "5eebe4fa",
"metadata": {},
"outputs": [],
"source": [
@@ -264,7 +265,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "3598db26-c261-4bde-a30f-5927581e0554",
+ "id": "6731402d",
"metadata": {},
"outputs": [],
"source": [
@@ -296,21 +297,13 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "643d9e25-a083-4554-9640-ef681a305a08",
+ "id": "2a99ace7",
"metadata": {},
"outputs": [],
"source": [
"log_inoutpainting_results(original_image, sampled, encoded_tokens, mask)\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "b17cd0e2-a354-4a8b-a68d-11f7d7d48345",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/paella/Latent-Space-Interpolation.ipynb b/colabs/paella/Latent-Space-Interpolation.ipynb
index c63c287b..b6725d1c 100644
--- a/colabs/paella/Latent-Space-Interpolation.ipynb
+++ b/colabs/paella/Latent-Space-Interpolation.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "b9d2a9e5",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f37e1062",
+ "id": "c9292760",
"metadata": {},
"outputs": [],
"source": [
@@ -25,7 +26,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "833f912f-98d0-4055-933c-9803ab1a34ed",
+ "id": "ef1d9a73",
"metadata": {},
"outputs": [],
"source": [
@@ -54,7 +55,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "1b41825a-63f3-4551-9c4d-a809297f7e0d",
+ "id": "aa426f22",
"metadata": {},
"outputs": [],
"source": [
@@ -87,7 +88,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7b03d40b-65b6-4939-95ef-4bf2ce3b0133",
+ "id": "f201d581",
"metadata": {},
"outputs": [],
"source": [
@@ -98,7 +99,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "9ffdcff9-c5a4-4158-a1ba-52beff090801",
+ "id": "2cc157dd",
"metadata": {},
"outputs": [],
"source": [
@@ -112,7 +113,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7eb4b944-fbe6-431a-adf8-6ef3e72a4c82",
+ "id": "53fe0dd0",
"metadata": {},
"outputs": [],
"source": [
@@ -186,7 +187,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "eeaf0fdd-95fb-4154-91bb-806f9aed6c5a",
+ "id": "6a8c2393",
"metadata": {},
"outputs": [],
"source": [
@@ -220,7 +221,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "00b740f5-0b4e-465a-bf90-a5b5860cc785",
+ "id": "a11b5b7c",
"metadata": {},
"outputs": [],
"source": [
@@ -277,21 +278,13 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "de5f608e-f9c2-419b-b9d1-3a1722d055be",
+ "id": "4d5f7b63",
"metadata": {},
"outputs": [],
"source": [
"log_interpolation_results(sampled)\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "ffa7516b-bd77-41a3-b9d3-95b110f57106",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/paella/Multi-Conditioning.ipynb b/colabs/paella/Multi-Conditioning.ipynb
index e42e9807..873ca63d 100644
--- a/colabs/paella/Multi-Conditioning.ipynb
+++ b/colabs/paella/Multi-Conditioning.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "fe90fd24",
"metadata": {},
"source": [
"\n",
@@ -10,7 +11,7 @@
},
{
"cell_type": "markdown",
- "id": "c883955a",
+ "id": "318fd50a",
"metadata": {},
"source": [
"# 🔥🔥 Multi-Conditional Image Generation with Paella + WandB Playground 🪄🐝\n",
@@ -23,7 +24,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "fb35d29d-ecec-4917-b876-f65b7e8def5f",
+ "id": "d3d461f8",
"metadata": {},
"outputs": [],
"source": [
@@ -52,7 +53,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e23328f6-12f2-498c-9322-803c67f2a00f",
+ "id": "bb52df32",
"metadata": {},
"outputs": [],
"source": [
@@ -88,7 +89,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "4693a9b6-950f-45bc-b08c-1075bf8abe62",
+ "id": "e3533942",
"metadata": {},
"outputs": [],
"source": [
@@ -99,7 +100,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "172af2c6-3440-4cbb-8dc2-88f95d0ea9a0",
+ "id": "ff2b0cc2",
"metadata": {},
"outputs": [],
"source": [
@@ -119,7 +120,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "cff68bc9-8fc2-449d-994b-9642669f8d63",
+ "id": "2aeb8cd4",
"metadata": {},
"outputs": [],
"source": [
@@ -193,7 +194,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "27874a53-1e32-4206-b64f-05e58fba45ab",
+ "id": "dcef1dac",
"metadata": {},
"outputs": [],
"source": [
@@ -227,7 +228,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "3753c2be-cbce-4292-b73f-2701a8ad99c0",
+ "id": "11a0548a",
"metadata": {},
"outputs": [],
"source": [
@@ -258,21 +259,13 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "fc9c8431-6068-4961-bc01-f128b1d88fb6",
+ "id": "9b20984f",
"metadata": {},
"outputs": [],
"source": [
"log_multi_conditioning_results(sampled)\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "17a90d54-7717-402f-9086-ea40c1866adf",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/paella/Orientation-Guided-Multi-Conditioning.ipynb b/colabs/paella/Orientation-Guided-Multi-Conditioning.ipynb
index fc5e35a7..1392accc 100644
--- a/colabs/paella/Orientation-Guided-Multi-Conditioning.ipynb
+++ b/colabs/paella/Orientation-Guided-Multi-Conditioning.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "4caab47d",
"metadata": {},
"source": [
"\n",
@@ -10,7 +11,7 @@
},
{
"cell_type": "markdown",
- "id": "d10bd631",
+ "id": "c39d2d61",
"metadata": {},
"source": [
"# 🔥🔥 Orientation Guided Multi-Conditional Image Generation with Paella + WandB Playground 🪄🐝\n",
@@ -23,7 +24,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "c1019eb6-1b29-4ce5-95fa-6358ce0dc584",
+ "id": "e162b915",
"metadata": {},
"outputs": [],
"source": [
@@ -52,7 +53,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "94f4d23e-ff7e-4de0-a69c-ca13751b96a5",
+ "id": "769bbf69",
"metadata": {},
"outputs": [],
"source": [
@@ -86,7 +87,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "6ca68fca-20b2-4ef5-ba7d-fb12bc906a06",
+ "id": "e14a4831",
"metadata": {},
"outputs": [],
"source": [
@@ -97,7 +98,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "412fe0e2-032c-4154-80f6-22f4f0d53315",
+ "id": "5a75569e",
"metadata": {},
"outputs": [],
"source": [
@@ -123,7 +124,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "b30c6757-c9cf-4acc-b909-de9ce990bb29",
+ "id": "e9bb0938",
"metadata": {},
"outputs": [],
"source": [
@@ -196,7 +197,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "4784d7a7-d0c0-4314-922a-6db000642b77",
+ "id": "f0151079",
"metadata": {},
"outputs": [],
"source": [
@@ -230,7 +231,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "9574e4b9-050f-47ee-8ca3-951268539d3f",
+ "id": "d6c6d26a",
"metadata": {},
"outputs": [],
"source": [
@@ -277,7 +278,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "a8e626a6-6b86-4208-8767-101a152401cc",
+ "id": "de3c09ea",
"metadata": {},
"outputs": [],
"source": [
diff --git a/colabs/paella/Outpainting.ipynb b/colabs/paella/Outpainting.ipynb
index afda36bd..386d6906 100644
--- a/colabs/paella/Outpainting.ipynb
+++ b/colabs/paella/Outpainting.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "e205baf0",
"metadata": {},
"source": [
"\n",
@@ -10,7 +11,7 @@
},
{
"cell_type": "markdown",
- "id": "b2903db1",
+ "id": "def788f4",
"metadata": {},
"source": [
"# 🔥🔥 Image Outpainting with Paella + WandB Playground 🪄🐝\n",
@@ -23,7 +24,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "25439e07-57df-4b4a-a095-f02fd5b82a31",
+ "id": "19414087",
"metadata": {},
"outputs": [],
"source": [
@@ -52,7 +53,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e9f71025-a469-415e-ad7e-656080e8ef08",
+ "id": "4ef82556",
"metadata": {},
"outputs": [],
"source": [
@@ -88,7 +89,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "a38d18fc-075f-4a05-9a66-97c8a9ae9d93",
+ "id": "7274ce33",
"metadata": {},
"outputs": [],
"source": [
@@ -99,7 +100,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "2c956e5b-df8b-4d4d-93d6-fbbd23523241",
+ "id": "8cd2036d",
"metadata": {},
"outputs": [],
"source": [
@@ -138,7 +139,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "871f433c-5c86-472d-8313-cfa74eec7a0f",
+ "id": "1057acf3",
"metadata": {},
"outputs": [],
"source": [
@@ -211,7 +212,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "536ad909-0764-44d1-bf79-b8e905a760b0",
+ "id": "b6a7beac",
"metadata": {},
"outputs": [],
"source": [
@@ -245,7 +246,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "edf4cc02-c1bf-4b6b-aeef-8c121322bd9f",
+ "id": "757f8a53",
"metadata": {},
"outputs": [],
"source": [
@@ -263,7 +264,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "07446a5c-ac79-46cd-898b-fb29048d30a7",
+ "id": "2574a92e",
"metadata": {},
"outputs": [],
"source": [
@@ -300,21 +301,13 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "de73e4a4-8e9e-41de-9138-be7b3209db18",
+ "id": "afff6dd4",
"metadata": {},
"outputs": [],
"source": [
"log_inoutpainting_results(original_image, sampled, encoded_tokens, mask)\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "cecd9119-ad2f-4968-9395-e89626fbb032",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/paella/Structural-Morphing.ipynb b/colabs/paella/Structural-Morphing.ipynb
index 26a7c7a1..c25b6dd4 100644
--- a/colabs/paella/Structural-Morphing.ipynb
+++ b/colabs/paella/Structural-Morphing.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "b3a265c8",
"metadata": {},
"source": [
"\n",
@@ -10,7 +11,7 @@
},
{
"cell_type": "markdown",
- "id": "aea68e9b",
+ "id": "c4165d97",
"metadata": {},
"source": [
"# 🔥🔥 Structural Morphing of Images with Paella + WandB Playground 🪄🐝\n",
@@ -23,7 +24,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "864b20f3-0e1f-4631-a3b5-b01ca229b9df",
+ "id": "a28f9cb0",
"metadata": {},
"outputs": [],
"source": [
@@ -52,7 +53,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "8441ea28-1555-4d59-b1de-56e85f48fdc5",
+ "id": "966479fa",
"metadata": {},
"outputs": [],
"source": [
@@ -87,7 +88,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f0814312-cca0-4486-a222-4b90c6eecfd9",
+ "id": "32ceb3d7",
"metadata": {},
"outputs": [],
"source": [
@@ -98,7 +99,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "bcee6f91-56bd-4ff5-b042-95465e0949f5",
+ "id": "4bc326f1",
"metadata": {},
"outputs": [],
"source": [
@@ -123,7 +124,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "37526b5e-14d3-4057-99a3-9b12e1baab6a",
+ "id": "09aba79c",
"metadata": {},
"outputs": [],
"source": [
@@ -196,7 +197,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "15138eea-95cd-45c7-af76-d62309d266c3",
+ "id": "399194b3",
"metadata": {},
"outputs": [],
"source": [
@@ -230,7 +231,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "58743cf3-30c0-4ddc-b008-ee847742c96b",
+ "id": "97287634",
"metadata": {},
"outputs": [],
"source": [
@@ -248,7 +249,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "0ee870ef-70b3-4728-8dcd-1bfdd7117246",
+ "id": "c4b4daf8",
"metadata": {},
"outputs": [],
"source": [
@@ -277,7 +278,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f6ccceac-8531-41b0-8b73-9953f1eff480",
+ "id": "87f06f8a",
"metadata": {},
"outputs": [],
"source": [
diff --git a/colabs/paella/Text-Conditional.ipynb b/colabs/paella/Text-Conditional.ipynb
index edf4049a..2b076f69 100644
--- a/colabs/paella/Text-Conditional.ipynb
+++ b/colabs/paella/Text-Conditional.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "ffc4c8a0",
"metadata": {},
"source": [
"\n",
@@ -10,7 +11,7 @@
},
{
"cell_type": "markdown",
- "id": "d4a618d5",
+ "id": "33ecf3a8",
"metadata": {},
"source": [
"# 🔥🔥 Text-Conditional Image Generation with Paella + WandB Playground 🪄🐝\n",
@@ -23,7 +24,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "78f75e79-7ed1-4282-b6dd-b6dcb1d1e408",
+ "id": "9842f6c0",
"metadata": {},
"outputs": [],
"source": [
@@ -52,7 +53,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "2c3fc5a7-72ed-4a3b-8d29-ff1519ec88ba",
+ "id": "94352978",
"metadata": {},
"outputs": [],
"source": [
@@ -82,7 +83,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "4813a37e-31d4-403e-bfcb-d17ea7cfa995",
+ "id": "cd216ad2",
"metadata": {},
"outputs": [],
"source": [
@@ -93,7 +94,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "127b8965-3def-4d7e-9e7c-c9875bbe946f",
+ "id": "43772a65",
"metadata": {},
"outputs": [],
"source": [
@@ -107,7 +108,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7d62edb2-fa7a-447c-8ecd-1f65f73adf41",
+ "id": "1d5662b1",
"metadata": {},
"outputs": [],
"source": [
@@ -181,7 +182,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "d18f9ead-88ce-4919-950e-7f99624f9344",
+ "id": "23700dc8",
"metadata": {},
"outputs": [],
"source": [
@@ -215,7 +216,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "0de7052a-ac91-4c57-8da2-ddbd2c1cb837",
+ "id": "42c83c7e",
"metadata": {},
"outputs": [],
"source": [
@@ -237,7 +238,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "625bb261-f76f-4a4c-b7e4-b3eee2d6f5d4",
+ "id": "cddd0c03",
"metadata": {},
"outputs": [],
"source": [
diff --git a/colabs/prompts/W&B_Prompts_with_Custom_Columns.ipynb b/colabs/prompts/W&B_Prompts_with_Custom_Columns.ipynb
index ebc811cf..e69de29b 100644
--- a/colabs/prompts/W&B_Prompts_with_Custom_Columns.ipynb
+++ b/colabs/prompts/W&B_Prompts_with_Custom_Columns.ipynb
@@ -1,618 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "e-ZYaV5KGVmA"
- },
- "source": [
- "\n",
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "gJSVEAGWGVmA"
- },
- "source": [
- "\n",
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9f7yMKLwGVmA"
- },
- "source": [
- "**[Weights & Biases Prompts](https://docs.wandb.ai/guides/prompts?utm_source=code&utm_medium=colab&utm_campaign=prompts)** is a suite of LLMOps tools built for the development of LLM-powered applications.\n",
- "\n",
- "Use W&B Prompts to visualize and inspect the execution flow of your LLMs, analyze the inputs and outputs of your LLMs, view the intermediate results and securely store and manage your prompts and LLM chain configurations.\n",
- "\n",
- "#### [🪄 View Prompts In Action](https://wandb.ai/timssweeney/prompts-demo/)\n",
- "\n",
- "**In this notebook we will demostrate W&B Prompts:**\n",
- "\n",
- "- Using our 1-line LangChain integration\n",
- "- Using our Trace class when building your own LLM Pipelines\n",
- "\n",
- "See here for the full [W&B Prompts documentation](https://docs.wandb.ai/guides/prompts)\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "A4wI3b_8GVmB"
- },
- "source": [
- "## Installation"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "id": "nDoIqQ8_GVmB"
- },
- "outputs": [],
- "source": [
- "!pip install \"wandb>=0.15.4\" -qqq\n",
- "!pip install \"langchain>=0.0.218\" openai -qqq"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "id": "PcGiSWBSGVmB"
- },
- "outputs": [],
- "source": [
- "import langchain\n",
- "assert langchain.__version__ >= \"0.0.218\", \"Please ensure you are using LangChain v0.0.188 or higher\""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "pbmQIsjJGVmB"
- },
- "source": [
- "## Setup\n",
- "\n",
- "This demo requires that you have an [OpenAI key](https://platform.openai.com)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "ZH4g2B0lGVmB",
- "outputId": "22295db6-5369-474d-a8ea-fb45c4c92085"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Paste your OpenAI key from: https://platform.openai.com/account/api-keys\n",
- "··········\n",
- "OpenAI API key configured\n"
- ]
- }
- ],
- "source": [
- "import os\n",
- "from getpass import getpass\n",
- "\n",
- "if os.getenv(\"OPENAI_API_KEY\") is None:\n",
- " os.environ[\"OPENAI_API_KEY\"] = getpass(\"Paste your OpenAI key from: https://platform.openai.com/account/api-keys\\n\")\n",
- "assert os.getenv(\"OPENAI_API_KEY\", \"\").startswith(\"sk-\"), \"This doesn't look like a valid OpenAI API key\"\n",
- "print(\"OpenAI API key configured\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "79KOB2EhGVmB"
- },
- "source": [
- "# W&B Prompts\n",
- "\n",
- "W&B Prompts consists of three main components:\n",
- "\n",
- "**Trace table**: Overview of the inputs and outputs of a chain.\n",
- "\n",
- "**Trace timeline**: Displays the execution flow of the chain and is color-coded according to component types.\n",
- "\n",
- "**Model architecture**: View details about the structure of the chain and the parameters used to initialize each component of the chain.\n",
- "\n",
- "After running this section, you will see a new panel automatically created in your workspace, showing each execution, the trace, and the model architecture"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "5kxmdm3zGVmC"
- },
- "source": [
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9u97K5vVGVmC"
- },
- "source": [
- "## Maths with LangChain"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "oneRFmv6GVmC"
- },
- "source": [
- "Set the `LANGCHAIN_WANDB_TRACING` environment variable as well as any other relevant [W&B environment variables](https://docs.wandb.ai/guides/track/environment-variables). This could includes a W&B project name, team name, and more. See [wandb.init](https://docs.wandb.ai/ref/python/init) for a full list of arguments."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "id": "ACl-rMtAGVmC"
- },
- "outputs": [],
- "source": [
- "os.environ[\"LANGCHAIN_WANDB_TRACING\"] = \"true\"\n",
- "os.environ[\"WANDB_PROJECT\"] = \"langchain-testing\""
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "id": "csp3MXG4GVmC"
- },
- "outputs": [],
- "source": [
- "from langchain.chat_models import ChatOpenAI\n",
- "from langchain.agents import load_tools, initialize_agent, AgentType"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "2hWU2GcAGVmC"
- },
- "source": [
- "Create a standard math Agent using LangChain"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "id": "l_JkVMlRGVmC"
- },
- "outputs": [],
- "source": [
- "llm = ChatOpenAI(temperature=0)\n",
- "tools = load_tools([\"llm-math\"], llm=llm)\n",
- "math_agent = initialize_agent(tools,\n",
- " llm,\n",
- " agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "9FFviwCPGVmC"
- },
- "source": [
- "Use LangChain as normal by calling your Agent.\n",
- "\n",
- " You will see a Weights & Biases run start and you will be asked for your [Weights & Biases API key](wwww.wandb.ai/authorize). Once your enter your API key, the inputs and outputs of your Agent calls will start to be streamed to the Weights & Biases App."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 178
- },
- "id": "y-RHjVN4GVmC",
- "outputId": "5ccd5f32-6137-46c3-9abd-d458dbdbacca"
- },
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\u001b[34m\u001b[1mwandb\u001b[0m: Streaming LangChain activity to W&B at https://wandb.ai/carey/langchain-testing/runs/lcznj5lg\n",
- "\u001b[34m\u001b[1mwandb\u001b[0m: `WandbTracer` is currently in beta.\n",
- "\u001b[34m\u001b[1mwandb\u001b[0m: Please report any issues to https://github.com/wandb/wandb/issues with the tag `langchain`.\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "LLMMathChain._evaluate(\"\n",
- "import math\n",
- "math.sqrt(5.4)\n",
- "\") raised error: invalid syntax (, line 1). Please try again with a valid numerical expression\n",
- "0.005720801417544866\n",
- "0.15096209512635608\n"
- ]
- }
- ],
- "source": [
- "# some sample maths questions\n",
- "questions = [\n",
- " \"Find the square root of 5.4.\",\n",
- " \"What is 3 divided by 7.34 raised to the power of pi?\",\n",
- " \"What is the sin of 0.47 radians, divided by the cube root of 27?\"\n",
- "]\n",
- "\n",
- "for question in questions:\n",
- " try:\n",
- " # call your Agent as normal\n",
- " answer = math_agent.run(question)\n",
- " print(answer)\n",
- " except Exception as e:\n",
- " # any errors will be also logged to Weights & Biases\n",
- " print(e)\n",
- " pass"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "SNYFSaUrGVmC"
- },
- "source": [
- "Once each Agent execution completes, all calls in your LangChain object will be logged to Weights & Biases"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "m0bL1xpkGVmC"
- },
- "source": [
- "### LangChain Context Manager\n",
- "Depending on your use case, you might instead prefer to use a context manager to manage your logging to W&B.\n",
- "\n",
- "**✨ New: Custom columns** can be logged directly to W&B to display in the same Trace Table with this snippet:\n",
- "```python\n",
- "import wandb\n",
- "wandb.log(custom_metrics_dict, commit=False})\n",
- "```\n",
- "Use `commit=False` to make sure that metadata is logged to the same row of the Trace Table as the LangChain output."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 35
- },
- "id": "7i9Pj1NKGVmC",
- "outputId": "b44f3ae7-fd49-437f-af7b-fb8f82056bd0"
- },
- "outputs": [
- {
- "data": {
- "application/vnd.google.colaboratory.intrinsic+json": {
- "type": "string"
- },
- "text/plain": [
- "'1.0891804557407723'"
- ]
- },
- "execution_count": 10,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from langchain.callbacks import wandb_tracing_enabled\n",
- "import wandb # To enable custom column logging with wandb.run.log()\n",
- "\n",
- "# unset the environment variable and use a context manager instead\n",
- "if \"LANGCHAIN_WANDB_TRACING\" in os.environ:\n",
- " del os.environ[\"LANGCHAIN_WANDB_TRACING\"]\n",
- "\n",
- "# enable tracing using a context manager\n",
- "with wandb_tracing_enabled():\n",
- " for i in range (10):\n",
- " # Log any custom columns you'd like to add to the Trace Table\n",
- " wandb.log({\"custom_column\": i}, commit=False)\n",
- " try:\n",
- " math_agent.run(f\"What is {i} raised to .123243 power?\") # this should be traced\n",
- " except:\n",
- " pass\n",
- "\n",
- "math_agent.run(\"What is 2 raised to .123243 power?\") # this should not be traced"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "JDLzoorhGVmC"
- },
- "source": [
- "# Non-Lang Chain Implementation\n",
- "\n",
- "\n",
- "A W&B Trace is created by logging 1 or more \"spans\". A root span is expected, which can accept nested child spans, which can in turn accept their own child spans. A Span represents a unit of work, Spans can have type `AGENT`, `TOOL`, `LLM` or `CHAIN`\n",
- "\n",
- "When logging with Trace, a single W&B run can have multiple calls to a LLM, Tool, Chain or Agent logged to it, there is no need to start a new W&B run after each generation from your model or pipeline, instead each call will be appended to the Trace Table.\n",
- "\n",
- "In this quickstart, we will how to log a single call to an OpenAI model to W&B Trace as a single span. Then we will show how to log a more complex series of nested spans.\n",
- "\n",
- "## Logging with W&B Trace"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "7z98yfoqGVmD"
- },
- "source": [
- "Call wandb.init to start a W&B run. Here you can pass a W&B project name as well as an entity name (if logging to a W&B Team), as well as a config and more. See wandb.init for the full list of arguments.\n",
- "\n",
- "You will see a Weights & Biases run start and be asked for your [Weights & Biases API key](wwww.wandb.ai/authorize). Once your enter your API key, the inputs and outputs of your Agent calls will start to be streamed to the Weights & Biases App.\n",
- "\n",
- "**Note:** A W&B run supports logging as many traces you needed to a single run, i.e. you can make multiple calls of `run.log` without the need to create a new run each time"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "ZcvgzZ55GVmD"
- },
- "outputs": [],
- "source": [
- "import wandb\n",
- "\n",
- "# start a wandb run to log to\n",
- "wandb.init(project=\"trace-example\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "4_3Wrg2YGVmD"
- },
- "source": [
- "You can also set the entity argument in wandb.init if logging to a W&B Team.\n",
- "\n",
- "### Logging a single Span\n",
- "Now we will query OpenAI times and log the results to a W&B Trace. We will log the inputs and outputs, start and end times, whether the OpenAI call was successful, the token usage, and additional metadata.\n",
- "\n",
- "You can see the full description of the arguments to the Trace class [here](https://soumik12345.github.io/wandb-addons/prompts/tracer/)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "q2pkMhpMGVmD"
- },
- "outputs": [],
- "source": [
- "import openai\n",
- "import datetime\n",
- "from wandb.sdk.data_types.trace_tree import Trace\n",
- "\n",
- "openai.api_key = os.environ[\"OPENAI_API_KEY\"]\n",
- "\n",
- "# define your conifg\n",
- "model_name = \"gpt-3.5-turbo\"\n",
- "temperature = 0.7\n",
- "system_message = \"You are a helpful assistant that always replies in 3 concise bullet points using markdown.\"\n",
- "\n",
- "queries_ls = [\n",
- " \"What is the capital of France?\",\n",
- " \"How do I boil an egg?\" * 10000, # deliberately trigger an openai error\n",
- " \"What to do if the aliens arrive?\"\n",
- "]\n",
- "\n",
- "for query in queries_ls:\n",
- " messages=[\n",
- " {\"role\": \"system\", \"content\": system_message},\n",
- " {\"role\": \"user\", \"content\": query}\n",
- " ]\n",
- "\n",
- " start_time_ms = datetime.datetime.now().timestamp() * 1000\n",
- " try:\n",
- " response = openai.ChatCompletion.create(model=model_name,\n",
- " messages=messages,\n",
- " temperature=temperature\n",
- " )\n",
- "\n",
- " end_time_ms = round(datetime.datetime.now().timestamp() * 1000) # logged in milliseconds\n",
- " status=\"success\"\n",
- " status_message=None,\n",
- " response_text = response[\"choices\"][0][\"message\"][\"content\"]\n",
- " token_usage = response[\"usage\"].to_dict()\n",
- "\n",
- "\n",
- " except Exception as e:\n",
- " end_time_ms = round(datetime.datetime.now().timestamp() * 1000) # logged in milliseconds\n",
- " status=\"error\"\n",
- " status_message=str(e)\n",
- " response_text = \"\"\n",
- " token_usage = {}\n",
- "\n",
- " # create a span in wandb\n",
- " root_span = Trace(\n",
- " name=\"root_span\",\n",
- " kind=\"llm\", # kind can be \"llm\", \"chain\", \"agent\" or \"tool\"\n",
- " status_code=status,\n",
- " status_message=status_message,\n",
- " metadata={\"temperature\": temperature,\n",
- " \"token_usage\": token_usage,\n",
- " \"model_name\": model_name},\n",
- " start_time_ms=start_time_ms,\n",
- " end_time_ms=end_time_ms,\n",
- " inputs={\"system_prompt\": system_message, \"query\": query},\n",
- " outputs={\"response\": response_text},\n",
- " )\n",
- "\n",
- " # log the span to wandb\n",
- " root_span.log(name=\"openai_trace\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "XFcwFgaDGVmD"
- },
- "source": [
- "### Logging a LLM pipeline using nested Spans\n",
- "\n",
- "In this example we will simulate an Agent being called, which then calls a LLM Chain, which calls an OpenAI LLM and then the Agent \"calls\" a Calculator tool.\n",
- "\n",
- "The inputs, outputs and metadata for each step in the execution of our \"Agent\" is logged in its own span. Spans can have child"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "ACMaGuYUGVmD"
- },
- "outputs": [],
- "source": [
- "import time\n",
- "\n",
- "openai.api_key = os.environ[\"OPENAI_API_KEY\"]\n",
- "\n",
- "# The query our agent has to answer\n",
- "query = \"How many days until the next US election?\"\n",
- "\n",
- "# part 1 - an Agent is started...\n",
- "start_time_ms = round(datetime.datetime.now().timestamp() * 1000)\n",
- "\n",
- "root_span = Trace(\n",
- " name=\"MyAgent\",\n",
- " kind=\"agent\",\n",
- " start_time_ms=start_time_ms,\n",
- " metadata={\"user\": \"optimus_12\"})\n",
- "\n",
- "\n",
- "# part 2 - The Agent calls into a LLMChain..\n",
- "chain_span = Trace(\n",
- " name=\"LLMChain\",\n",
- " kind=\"chain\",\n",
- " start_time_ms=start_time_ms)\n",
- "\n",
- "# add the Chain span as a child of the root\n",
- "root_span.add_child(chain_span)\n",
- "\n",
- "\n",
- "# part 3 - the LLMChain calls an OpenAI LLM...\n",
- "messages=[\n",
- " {\"role\": \"system\", \"content\": system_message},\n",
- " {\"role\": \"user\", \"content\": query}\n",
- "]\n",
- "\n",
- "response = openai.ChatCompletion.create(model=model_name,\n",
- " messages=messages,\n",
- " temperature=temperature)\n",
- "\n",
- "llm_end_time_ms = round(datetime.datetime.now().timestamp() * 1000)\n",
- "response_text = response[\"choices\"][0][\"message\"][\"content\"]\n",
- "token_usage = response[\"usage\"].to_dict()\n",
- "\n",
- "llm_span = Trace(\n",
- " name=\"OpenAI\",\n",
- " kind=\"llm\",\n",
- " status_code=\"success\",\n",
- " metadata={\"temperature\":temperature,\n",
- " \"token_usage\": token_usage,\n",
- " \"model_name\":model_name},\n",
- " start_time_ms=start_time_ms,\n",
- " end_time_ms=llm_end_time_ms,\n",
- " inputs={\"system_prompt\":system_message, \"query\":query},\n",
- " outputs={\"response\": response_text},\n",
- " )\n",
- "\n",
- "# add the LLM span as a child of the Chain span...\n",
- "chain_span.add_child(llm_span)\n",
- "\n",
- "# update the end time of the Chain span\n",
- "chain_span.add_inputs_and_outputs(\n",
- " inputs={\"query\":query},\n",
- " outputs={\"response\": response_text})\n",
- "\n",
- "# update the Chain span's end time\n",
- "chain_span._span.end_time_ms = llm_end_time_ms\n",
- "\n",
- "\n",
- "# part 4 - the Agent then calls a Tool...\n",
- "time.sleep(3)\n",
- "days_to_election = 117\n",
- "tool_end_time_ms = round(datetime.datetime.now().timestamp() * 1000)\n",
- "\n",
- "# create a Tool span\n",
- "tool_span = Trace(\n",
- " name=\"Calculator\",\n",
- " kind=\"tool\",\n",
- " status_code=\"success\",\n",
- " start_time_ms=llm_end_time_ms,\n",
- " end_time_ms=tool_end_time_ms,\n",
- " inputs={\"input\": response_text},\n",
- " outputs={\"result\": days_to_election})\n",
- "\n",
- "# add the TOOL span as a child of the root\n",
- "root_span.add_child(tool_span)\n",
- "\n",
- "\n",
- "# part 5 - the final results from the tool are added\n",
- "root_span.add_inputs_and_outputs(inputs={\"query\": query},\n",
- " outputs={\"result\": days_to_election})\n",
- "root_span._span.end_time_ms = tool_end_time_ms\n",
- "\n",
- "\n",
- "# part 6 - log all spans to W&B by logging the root span\n",
- "root_span.log(name=\"openai_trace\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "nBFVwawPGVmD"
- },
- "source": [
- "Once each Agent execution completes, all calls in your LangChain object will be logged to Weights & Biases"
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "include_colab_link": true,
- "provenance": []
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/colabs/prompts/WandB_LLM_QA_bot.ipynb b/colabs/prompts/WandB_LLM_QA_bot.ipynb
index 6cf57f5b..efc614e8 100644
--- a/colabs/prompts/WandB_LLM_QA_bot.ipynb
+++ b/colabs/prompts/WandB_LLM_QA_bot.ipynb
@@ -114,7 +114,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/pycaret/Default_Credit_Prediction_Using_W&B_Pycaret_FastAPI.ipynb b/colabs/pycaret/Default_Credit_Prediction_Using_W&B_Pycaret_FastAPI.ipynb
index 2de82091..1050389b 100644
--- a/colabs/pycaret/Default_Credit_Prediction_Using_W&B_Pycaret_FastAPI.ipynb
+++ b/colabs/pycaret/Default_Credit_Prediction_Using_W&B_Pycaret_FastAPI.ipynb
@@ -117,7 +117,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/pyg/8_Node_Classification_(with_W&B).ipynb b/colabs/pyg/8_Node_Classification_(with_W&B).ipynb
index c05f8d88..3c386a9a 100644
--- a/colabs/pyg/8_Node_Classification_(with_W&B).ipynb
+++ b/colabs/pyg/8_Node_Classification_(with_W&B).ipynb
@@ -45,8 +45,16 @@
"source": [
"enable_wandb = True\n",
"if enable_wandb:\n",
- " import wandb\n",
- " wandb.login()"
+ " import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
]
},
{
diff --git a/colabs/pyg/Graph_Classification_with_PyG_and_W&B.ipynb b/colabs/pyg/Graph_Classification_with_PyG_and_W&B.ipynb
index 3614737c..acf4a2e5 100644
--- a/colabs/pyg/Graph_Classification_with_PyG_and_W&B.ipynb
+++ b/colabs/pyg/Graph_Classification_with_PyG_and_W&B.ipynb
@@ -580,13 +580,6 @@
"\n",
"If you have any questions about using W&B to track your model performance and predictions, please contact support@wandb.com"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/pyg/point-cloud-segmentation/00_eda.ipynb b/colabs/pyg/point-cloud-segmentation/00_eda.ipynb
index f4abc616..8f4b86b7 100644
--- a/colabs/pyg/point-cloud-segmentation/00_eda.ipynb
+++ b/colabs/pyg/point-cloud-segmentation/00_eda.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "04fdcaca",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "57500bde-8f7c-4e37-aff7-3aea89793d2f",
+ "id": "aead1b54",
"metadata": {},
"source": [
"# 🔥🔥 Explore ShapeNet Dataset using PyTorch Geometric and Weights & Biases 🪄🐝\n",
@@ -31,7 +32,7 @@
},
{
"cell_type": "markdown",
- "id": "3fffd9cb-f1c6-4b1b-9de9-dc66f7d09f1f",
+ "id": "e4c9ae80",
"metadata": {},
"source": [
"# Install Required Packages"
@@ -40,7 +41,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f7fc4b41-2b6f-4624-bdd7-dfa2decae773",
+ "id": "73e2ae10",
"metadata": {},
"outputs": [],
"source": [
@@ -53,7 +54,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "45e8441e-3b6d-4b24-abb9-deccbcc6c64a",
+ "id": "d47b401b",
"metadata": {},
"outputs": [],
"source": [
@@ -66,7 +67,7 @@
},
{
"cell_type": "markdown",
- "id": "8040f1cd-cf19-4028-a1f6-0009c8dda7aa",
+ "id": "1a4901c4",
"metadata": {},
"source": [
"## Import Libraries"
@@ -75,7 +76,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f110ae50-84a9-4bb0-83d5-7f45f21a2b61",
+ "id": "5fd069a9",
"metadata": {},
"outputs": [],
"source": [
@@ -99,7 +100,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "2a83ea19-e50e-410c-a539-6eccdb68ae71",
+ "id": "86448a88",
"metadata": {},
"outputs": [],
"source": [
@@ -119,7 +120,7 @@
},
{
"cell_type": "markdown",
- "id": "35c96004-0dad-420d-b5f3-e01795d563ee",
+ "id": "b21a452e",
"metadata": {},
"source": [
"## Visualize Train-Val Dataset"
@@ -128,7 +129,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "010dba04-fa80-4a2b-9176-dadeeb23ca65",
+ "id": "a23f6557",
"metadata": {},
"outputs": [],
"source": [
@@ -145,7 +146,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f29f2964-31eb-4375-a1f4-c5bb120b8232",
+ "id": "e4d8432b",
"metadata": {},
"outputs": [],
"source": [
@@ -171,7 +172,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "33adc481-bc6f-4773-adc9-1d4fb6a82e2d",
+ "id": "983e9511",
"metadata": {},
"outputs": [],
"source": [
@@ -187,7 +188,7 @@
},
{
"cell_type": "markdown",
- "id": "2e71c385-1b0f-428c-8559-e2fac1816261",
+ "id": "385112bc",
"metadata": {},
"source": [
"## Visualize Test Dataset"
@@ -196,7 +197,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f893cc65-779b-426b-bc9c-397c7894957a",
+ "id": "b201d63f",
"metadata": {},
"outputs": [],
"source": [
@@ -211,7 +212,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "c8001b95-57d0-43b5-9092-d874ddbca536",
+ "id": "f12b2662",
"metadata": {},
"outputs": [],
"source": [
@@ -236,7 +237,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e8cbb460-32ca-4814-9890-11cee3f3e22a",
+ "id": "79838e77",
"metadata": {},
"outputs": [],
"source": [
@@ -253,20 +254,12 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "d592a642-4ca7-40f8-af69-0a8b3b2693a8",
+ "id": "2b9e5b69",
"metadata": {},
"outputs": [],
"source": [
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "e7364297-0751-4dc5-9661-4043d243018c",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/pyg/point-cloud-segmentation/01_dgcnn_train.ipynb b/colabs/pyg/point-cloud-segmentation/01_dgcnn_train.ipynb
index fd725f09..473f8eea 100644
--- a/colabs/pyg/point-cloud-segmentation/01_dgcnn_train.ipynb
+++ b/colabs/pyg/point-cloud-segmentation/01_dgcnn_train.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "172865ee",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "cdbbe526-23ee-4a90-af8c-9f7092f50192",
+ "id": "75b3b204",
"metadata": {},
"source": [
"# 🔥🔥 Train DGCNN Model using PyTorch Geometric and Weights & Biases 🪄🐝\n",
@@ -29,7 +30,7 @@
},
{
"cell_type": "markdown",
- "id": "ed5c4e28-f40c-4c6a-827a-e28ff6db0501",
+ "id": "90904194",
"metadata": {},
"source": [
"# Install Required Packages"
@@ -38,7 +39,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "726d3107-dd0a-440a-a164-43b708af858f",
+ "id": "0fbee2a4",
"metadata": {},
"outputs": [],
"source": [
@@ -51,7 +52,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "4ebab99e-383f-410d-93a0-c8ff29dad2de",
+ "id": "7e98bc08",
"metadata": {},
"outputs": [],
"source": [
@@ -64,7 +65,7 @@
},
{
"cell_type": "markdown",
- "id": "dec996ce-98b9-465d-b530-e0f88ac7080d",
+ "id": "937b7a90",
"metadata": {},
"source": [
"## Import Libraries"
@@ -73,7 +74,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "c7f2a4cd-24e6-457d-b7f6-7fc94912fd12",
+ "id": "ddbd6831",
"metadata": {},
"outputs": [],
"source": [
@@ -97,7 +98,7 @@
},
{
"cell_type": "markdown",
- "id": "c71deb4e-f171-4a31-9801-a0e8f9cc9c04",
+ "id": "c9b5bbe7",
"metadata": {},
"source": [
"# Initialize Weights & Biases\n",
@@ -108,7 +109,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "a1053dec-59c9-4e9d-84e2-a1297dbf715f",
+ "id": "0f940177",
"metadata": {},
"outputs": [],
"source": [
@@ -147,7 +148,7 @@
},
{
"cell_type": "markdown",
- "id": "57a72e20-ff1b-4cdf-b87f-10baff51bac7",
+ "id": "b24e29f8",
"metadata": {},
"source": [
"# Load ShapeNet Dataset using PyTorch Geometric\n",
@@ -158,7 +159,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "42955441-03d8-4e9f-b856-7d7edc708981",
+ "id": "847e8f56",
"metadata": {},
"outputs": [],
"source": [
@@ -174,7 +175,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "da27bf0f-1e0f-438d-b602-2124606e7138",
+ "id": "70388abb",
"metadata": {},
"outputs": [],
"source": [
@@ -188,7 +189,7 @@
},
{
"cell_type": "markdown",
- "id": "3e335648-933d-4865-aaaf-0f24c0358d16",
+ "id": "7c9998ca",
"metadata": {},
"source": [
"Now, we need to offset the segmentation labels"
@@ -197,7 +198,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "9e14c4af-b5af-4805-a479-f0725d6ef1de",
+ "id": "47f0e8f2",
"metadata": {},
"outputs": [],
"source": [
@@ -217,7 +218,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "10e09ff7-e64b-4912-a30b-461d5eb72cb2",
+ "id": "507ef52b",
"metadata": {},
"outputs": [],
"source": [
@@ -229,7 +230,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "8bee5029-3bdd-4fa8-9a37-4d024c0cf6b5",
+ "id": "0a04d1ed",
"metadata": {},
"outputs": [],
"source": [
@@ -249,7 +250,7 @@
},
{
"cell_type": "markdown",
- "id": "6d1bc429-7d54-411a-b477-b7bbc7bfc3d6",
+ "id": "b3764ef6",
"metadata": {},
"source": [
"# Implementing the DGCNN Model using PyTorch Geometric"
@@ -258,7 +259,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "ac1bd7a8-585f-45fc-bc59-a8feec3512db",
+ "id": "95c329fc",
"metadata": {},
"outputs": [],
"source": [
@@ -290,7 +291,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "5a677e7b-9179-4c71-b1dc-af636dcf95d5",
+ "id": "fc1beb09",
"metadata": {},
"outputs": [],
"source": [
@@ -309,7 +310,7 @@
},
{
"cell_type": "markdown",
- "id": "3d94603b-51df-4299-ae69-f43617827d1c",
+ "id": "684a9044",
"metadata": {},
"source": [
"# Training DGCNN and Logging Metrics on Weights & Biases"
@@ -318,7 +319,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "1a9fbe02-b095-4df7-ab6b-af0dd6a411bf",
+ "id": "e775d74b",
"metadata": {},
"outputs": [],
"source": [
@@ -381,7 +382,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "94d7e550-19b1-40b8-9e01-2997a694a4fa",
+ "id": "bbc46ccd",
"metadata": {},
"outputs": [],
"source": [
@@ -441,7 +442,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "da4fad76-f961-4a0a-9f37-c72c1422e885",
+ "id": "7d28329c",
"metadata": {},
"outputs": [],
"source": [
@@ -507,7 +508,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e8c31a63-96a4-409f-bb0d-2b56b034adf0",
+ "id": "fbddd81a",
"metadata": {},
"outputs": [],
"source": [
@@ -533,7 +534,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "6f013430-fd25-4541-9dd3-3c67eef9074a",
+ "id": "aebb71ed",
"metadata": {},
"outputs": [],
"source": [
@@ -558,7 +559,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "000c8944-6821-43a3-94d2-548f8b174334",
+ "id": "079d94f7",
"metadata": {},
"outputs": [],
"source": [
@@ -567,7 +568,7 @@
},
{
"cell_type": "markdown",
- "id": "b093dee2-e902-4ad8-af3c-d7126ef985c1",
+ "id": "00ba1b79",
"metadata": {},
"source": [
"Next, you can check out the following notebook to learn how to evaluate the model on the ShapeNetCore dataset using Weights & Biases, you can check out the following notebook:\n",
diff --git a/colabs/pyg/point-cloud-segmentation/02_dgcnn_evaluate.ipynb b/colabs/pyg/point-cloud-segmentation/02_dgcnn_evaluate.ipynb
index 86c581af..d591cc44 100644
--- a/colabs/pyg/point-cloud-segmentation/02_dgcnn_evaluate.ipynb
+++ b/colabs/pyg/point-cloud-segmentation/02_dgcnn_evaluate.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "670bb5e6",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "9385afd2-4e70-4fc3-820b-576bdf035e42",
+ "id": "f99cc608",
"metadata": {},
"source": [
"# 🔥🔥 Evaluate DGCNN Model Weights & Biases 🪄🐝\n",
@@ -27,7 +28,7 @@
},
{
"cell_type": "markdown",
- "id": "1e79b763-e197-4a1d-9f3f-f89d873c12ed",
+ "id": "f26e6a2b",
"metadata": {},
"source": [
"# Install Required Packages"
@@ -36,7 +37,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "4e46eac0-9bf8-4c3b-906a-ca56343810ea",
+ "id": "16a12686",
"metadata": {},
"outputs": [],
"source": [
@@ -49,7 +50,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e6a87ef2-abf9-4d71-a4ae-d58e3ebba706",
+ "id": "bd471ac2",
"metadata": {},
"outputs": [],
"source": [
@@ -62,7 +63,7 @@
},
{
"cell_type": "markdown",
- "id": "267f5a6e-fedd-48ef-9861-66e8ffb9fbbd",
+ "id": "52865cb0",
"metadata": {},
"source": [
"## Import Libraries"
@@ -71,7 +72,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "1d8cf4d8-6839-47fb-b789-857997e15107",
+ "id": "464e45dc",
"metadata": {},
"outputs": [],
"source": [
@@ -95,7 +96,7 @@
},
{
"cell_type": "markdown",
- "id": "0643258d-84be-4a10-a67e-0cf0331e07aa",
+ "id": "ec10ba94",
"metadata": {},
"source": [
"# Initialize Weights & Biases\n",
@@ -106,7 +107,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "308fec6f-7397-4c9d-a83d-c7b5632053b6",
+ "id": "88df5824",
"metadata": {},
"outputs": [],
"source": [
@@ -145,7 +146,7 @@
},
{
"cell_type": "markdown",
- "id": "c6f068eb-5b69-4c73-9e21-4f0d5eab0d9e",
+ "id": "7fb79f85",
"metadata": {},
"source": [
"# Load ShapeNet Dataset using PyTorch Geometric\n",
@@ -156,7 +157,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "208dc676-c0bf-4a3d-bc5a-5b4251664de9",
+ "id": "ed125325",
"metadata": {},
"outputs": [],
"source": [
@@ -172,7 +173,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "27014b34-cfff-47be-b761-db8c484dad97",
+ "id": "ca5b0b24",
"metadata": {},
"outputs": [],
"source": [
@@ -191,7 +192,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e8d0e1df-7522-485b-b697-3dd066d85f8c",
+ "id": "827a5a3d",
"metadata": {},
"outputs": [],
"source": [
@@ -213,7 +214,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "2c67c4fa-92b4-495a-a247-c4e8a6c56d79",
+ "id": "0845c8e6",
"metadata": {},
"outputs": [],
"source": [
@@ -226,7 +227,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "5147d1c3-9772-4be9-8932-c9238a9270ef",
+ "id": "5880ea56",
"metadata": {},
"outputs": [],
"source": [
@@ -242,7 +243,7 @@
},
{
"cell_type": "markdown",
- "id": "1ce1b72e-cd7b-452f-ac08-dc2155561077",
+ "id": "1923436a",
"metadata": {},
"source": [
"# Load Checkpoint"
@@ -251,7 +252,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "d8a02d75-be84-436a-871c-ccadb863dc95",
+ "id": "f2d53569",
"metadata": {},
"outputs": [],
"source": [
@@ -282,7 +283,7 @@
},
{
"cell_type": "markdown",
- "id": "73c1f670-2a87-4083-9ec7-ed07785a5d66",
+ "id": "6c2b36ea",
"metadata": {},
"source": [
"Since we saved the checkpoints as artifacts on our Weights & Biases workspace, we can now fetch and load them."
@@ -291,7 +292,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "22cb064c-58b4-4887-b31b-d16622405b94",
+ "id": "9dba90fc",
"metadata": {},
"outputs": [],
"source": [
@@ -312,7 +313,7 @@
},
{
"cell_type": "markdown",
- "id": "a676bbf9-50be-4a99-9222-427c927bbe57",
+ "id": "53abd015",
"metadata": {},
"source": [
"# Evaluation"
@@ -321,7 +322,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "98e79961-e71c-4a2f-9040-72c6a5b32f09",
+ "id": "563deea4",
"metadata": {},
"outputs": [],
"source": [
@@ -392,7 +393,7 @@
},
{
"cell_type": "markdown",
- "id": "e0c5f0bb-01b1-48a3-980d-c22434f2be8a",
+ "id": "59fb65f4",
"metadata": {},
"source": [
"We evaluate the results and store them in a Weights & Biases Table."
@@ -401,7 +402,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "9427209c-216a-4887-9b3b-a73c474680c4",
+ "id": "fa945139",
"metadata": {},
"outputs": [],
"source": [
@@ -413,7 +414,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e1688f54-ef52-4f42-a6f6-b5c3364da87c",
+ "id": "e8995e37",
"metadata": {},
"outputs": [],
"source": [
@@ -423,20 +424,12 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "3dfd8610-bda8-4e7b-9939-b1e7b7b4e603",
+ "id": "d4fddcf2",
"metadata": {},
"outputs": [],
"source": [
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "87c44316-de14-4031-b6d2-ba8c9621a66d",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/pyg/pointnet-classification/00_eda.ipynb b/colabs/pyg/pointnet-classification/00_eda.ipynb
index 5bf56f5e..d60acb6d 100644
--- a/colabs/pyg/pointnet-classification/00_eda.ipynb
+++ b/colabs/pyg/pointnet-classification/00_eda.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "5d2c4f72",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "927cc500",
+ "id": "af680e31",
"metadata": {},
"source": [
"# 🔥🔥 Explore ModelNet Datasets using PyTorch Geometric and Weights & Biases 🪄🐝\n",
@@ -22,7 +23,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "73b8e385",
+ "id": "7a9396ad",
"metadata": {},
"source": [
"## Install Required Libraries"
@@ -31,7 +32,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "c0e582cd-7d1e-4223-8352-a0b1a05f5adf",
+ "id": "b6c91a7f",
"metadata": {},
"outputs": [],
"source": [
@@ -44,7 +45,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "3441841e",
+ "id": "cde43ebd",
"metadata": {},
"source": [
"We now install PyTorch Geometric according to our PyTorch Version. We also install Weights & Biases."
@@ -53,7 +54,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "cb6c2bcc",
+ "id": "9fff54b7",
"metadata": {},
"outputs": [],
"source": [
@@ -67,7 +68,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "8f2cdd46",
+ "id": "aba4b30e",
"metadata": {},
"source": [
"### Import Libraries"
@@ -76,7 +77,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "bac559ed-172f-4fd3-b558-b0a659764fd0",
+ "id": "6acaec36",
"metadata": {},
"outputs": [],
"source": [
@@ -105,7 +106,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "1bd2a644",
+ "id": "46895a21",
"metadata": {},
"source": [
"## Initialize Weights & Biases\n",
@@ -116,7 +117,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "8aa7a7d3-e763-4d9e-a05b-1ffde74ef569",
+ "id": "b2a7db44",
"metadata": {},
"outputs": [],
"source": [
@@ -146,7 +147,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "5ce9b4f7",
+ "id": "efd2ad10",
"metadata": {},
"source": [
"## Load ModelNet Dataset using PyTorch Geometric"
@@ -155,7 +156,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "1573fe1d-c5d5-437f-a743-33432c45a1ff",
+ "id": "3dfb1e50",
"metadata": {},
"outputs": [],
"source": [
@@ -180,7 +181,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "e76ffe8d",
+ "id": "b038fb22",
"metadata": {},
"source": [
"## Log Data to [`wandb.Table`](https://docs.wandb.ai/ref/python/data-types/table)\n",
@@ -191,7 +192,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "274115e0-d682-48e0-a701-f4e8d3c276cc",
+ "id": "66342479",
"metadata": {},
"outputs": [],
"source": [
@@ -220,7 +221,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7c7b7c12-3e1e-4f7b-b917-a213a488a910",
+ "id": "21978686",
"metadata": {},
"outputs": [],
"source": [
@@ -250,7 +251,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f6f51d44-ed23-4dc0-996e-6efc3c4f7fa6",
+ "id": "46c5fea5",
"metadata": {},
"outputs": [],
"source": [
@@ -260,19 +261,13 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "b992544b",
+ "id": "e9efd334",
"metadata": {},
"source": [
"Next, you can check out the following notebook to learn how to compare different sampling strategies in PyTorch Geometric using Weights & Biases\n",
"\n",
"[![](https://colab.research.google.com/assets/colab-badge.svg)](http://wandb.me/pyg-sampling)"
]
- },
- {
- "cell_type": "markdown",
- "id": "5ad6bd7f",
- "metadata": {},
- "source": []
}
],
"metadata": {
diff --git a/colabs/pyg/pointnet-classification/01_compare_sampling.ipynb b/colabs/pyg/pointnet-classification/01_compare_sampling.ipynb
index 866be074..8930e642 100644
--- a/colabs/pyg/pointnet-classification/01_compare_sampling.ipynb
+++ b/colabs/pyg/pointnet-classification/01_compare_sampling.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "fb05c584",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "75ae3439",
+ "id": "5df60be8",
"metadata": {},
"source": [
"# 🔥🔥 Explore Graph Sampling Techniques using PyTorch Geometric and Weights & Biases 🪄🐝\n",
@@ -26,7 +27,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "24bc9d53",
+ "id": "1a0b2ded",
"metadata": {},
"source": [
"## Install Required Libraries"
@@ -35,7 +36,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "9fbbb85e",
+ "id": "91f14e02",
"metadata": {},
"outputs": [],
"source": [
@@ -48,7 +49,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "0387e2f3",
+ "id": "dc2c1fd0",
"metadata": {},
"source": [
"We now install PyTorch Geometric according to our PyTorch Version. We also install Weights & Biases."
@@ -57,7 +58,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "54e2c502",
+ "id": "67d64c57",
"metadata": {},
"source": [
"!pip install -q torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}.html\n",
@@ -70,7 +71,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "e5e35477",
+ "id": "94b145bd",
"metadata": {},
"source": [
"### Import Libraries"
@@ -79,7 +80,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "9899f13f-7d7b-43c2-873a-07d23b75a1f2",
+ "id": "f2d40f2f",
"metadata": {},
"outputs": [],
"source": [
@@ -106,7 +107,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "581da785-44d2-4618-b84e-aaed217f0da6",
+ "id": "c40b87cd",
"metadata": {},
"outputs": [],
"source": [
@@ -134,7 +135,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "e19aa6d1",
+ "id": "97c44de0",
"metadata": {},
"source": [
"We take a single point cloud from the dataset and compare the KNN-sampled subgraph and radius-sampled subgraph by visualizing the subgraphs as [`wandb.Html`](https://docs.wandb.ai/ref/python/data-types/html) on a [Weights & Biases Table](https://docs.wandb.ai/guides/data-vis)."
@@ -143,7 +144,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e550b0c2-7b97-469b-b8da-dfb234ddfd65",
+ "id": "a59c651e",
"metadata": {},
"outputs": [],
"source": [
@@ -183,7 +184,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "1441daab",
+ "id": "0059f0b5",
"metadata": {},
"source": [
"Next, you can check out the following notebook to learn how to train the PointNet++ architecture using PyTorch Geometric and Weights & Biases\n",
diff --git a/colabs/pyg/pointnet-classification/02_pointnet_plus_plus.ipynb b/colabs/pyg/pointnet-classification/02_pointnet_plus_plus.ipynb
index 26b36c74..e1216fbe 100644
--- a/colabs/pyg/pointnet-classification/02_pointnet_plus_plus.ipynb
+++ b/colabs/pyg/pointnet-classification/02_pointnet_plus_plus.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "c0f2b7bb",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "8e6f5935",
+ "id": "0a089e90",
"metadata": {},
"source": [
"# 🔥🔥 Train PointNet++ Model using PyTorch Geometric and Weights & Biases 🪄🐝\n",
@@ -28,7 +29,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "183d8da6",
+ "id": "74844944",
"metadata": {},
"source": [
"## Install Required Libraries"
@@ -37,7 +38,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "5349d817",
+ "id": "316dcba0",
"metadata": {},
"outputs": [],
"source": [
@@ -51,7 +52,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "c2d4ce37",
+ "id": "4380ba4f",
"metadata": {},
"source": [
"We now install PyTorch Geometric according to our PyTorch Version. We also install Weights & Biases."
@@ -60,7 +61,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "5ed00f24",
+ "id": "1fda5066",
"metadata": {},
"outputs": [],
"source": [
@@ -74,7 +75,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "3fcc8028",
+ "id": "d6616543",
"metadata": {},
"source": [
"### Import Libraries"
@@ -83,7 +84,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "c38e68ed-e9b6-452b-913a-42af29cf3b43",
+ "id": "cbc13bbc",
"metadata": {},
"outputs": [],
"source": [
@@ -105,7 +106,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "0393be9e",
+ "id": "46e5b154",
"metadata": {},
"source": [
"## Initialize Weights & Biases\n",
@@ -116,7 +117,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f345aa58-8ed3-4d0b-9925-8d776d6576d6",
+ "id": "783f6a3d",
"metadata": {},
"outputs": [],
"source": [
@@ -162,7 +163,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "3c06b3dc",
+ "id": "524732b9",
"metadata": {},
"source": [
"## Load ModelNet Dataset using PyTorch Geometric\n",
@@ -173,7 +174,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "0a7c5bb1-30e1-4a6e-be2a-a375172d5571",
+ "id": "12a74c5f",
"metadata": {},
"outputs": [],
"source": [
@@ -224,7 +225,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "f8b2e6e4",
+ "id": "4960beac",
"metadata": {},
"source": [
"## Implementing the PointNet++ Model using PyTorch Geometric"
@@ -233,7 +234,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "1724081c-235a-49ff-9d1f-0ec2e06e1a4e",
+ "id": "ea4fe7e2",
"metadata": {},
"outputs": [],
"source": [
@@ -258,7 +259,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "17957287-c51c-469f-9669-302d6b9903e1",
+ "id": "e266ddad",
"metadata": {},
"outputs": [],
"source": [
@@ -278,7 +279,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "27720171-ca69-49a2-9c7f-66cbc4527e67",
+ "id": "e838fc04",
"metadata": {},
"outputs": [],
"source": [
@@ -318,7 +319,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "f9b7e440",
+ "id": "973729a2",
"metadata": {},
"source": [
"## Training PointNet++ and Logging Metrics on Weights & Biases"
@@ -327,7 +328,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "33cf5e53-6cdc-4037-b126-1201ed711205",
+ "id": "c524e338",
"metadata": {},
"outputs": [],
"source": [
@@ -349,7 +350,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f86c06ce-d212-48b0-984f-bc14582cf716",
+ "id": "b753e2c0",
"metadata": {},
"outputs": [],
"source": [
@@ -363,8 +364,9 @@
" range(num_train_examples),\n",
" desc=f\"Training Epoch {epoch}/{config.epochs}\"\n",
" )\n",
+ " data_iter = iter(train_loader)\n",
" for batch_idx in progress_bar:\n",
- " data = next(iter(train_loader)).to(device)\n",
+ " data = next(data_iter).to(device)\n",
" \n",
" optimizer.zero_grad()\n",
" prediction = model(data)\n",
@@ -394,8 +396,9 @@
" range(num_val_examples),\n",
" desc=f\"Validation Epoch {epoch}/{config.epochs}\"\n",
" )\n",
+ " data_iter = iter(val_loader)\n",
" for batch_idx in progress_bar:\n",
- " data = next(iter(val_loader)).to(device)\n",
+ " data = next(data_iter).to(device)\n",
" \n",
" with torch.no_grad():\n",
" prediction = model(data)\n",
@@ -463,7 +466,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "3d7e93ee-7346-4119-91d5-9871880e2507",
+ "id": "42b37a86",
"metadata": {},
"outputs": [],
"source": [
@@ -488,7 +491,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "3b035bac-8438-4f96-a545-3f0e071490c4",
+ "id": "88bbb06a",
"metadata": {},
"outputs": [],
"source": [
@@ -498,7 +501,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "05441179",
+ "id": "e236382d",
"metadata": {},
"source": [
"Next, you can check out the following notebook to learn how to run a hyperparameter sweep on our PointNet++ trainig loop using Weights & Biases:\n",
diff --git a/colabs/pyg/pointnet-classification/03_sweep.ipynb b/colabs/pyg/pointnet-classification/03_sweep.ipynb
index 09845a97..691f09b6 100644
--- a/colabs/pyg/pointnet-classification/03_sweep.ipynb
+++ b/colabs/pyg/pointnet-classification/03_sweep.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "a24744b3",
"metadata": {},
"source": [
"\n",
@@ -11,7 +12,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "d767398b",
+ "id": "7b2b8865",
"metadata": {},
"source": [
"# 🔥🔥 Run a Hyperparamter Sweep on PointNet++ 🪄🐝\n",
@@ -26,7 +27,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "9803ffe3",
+ "id": "c5d6108b",
"metadata": {},
"source": [
"## Install Required Libraries"
@@ -35,7 +36,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "f9004c21-0b42-4935-837c-9f4197ded5ec",
+ "id": "c8467ae5",
"metadata": {},
"outputs": [],
"source": [
@@ -49,7 +50,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "5dac741c",
+ "id": "7d43577a",
"metadata": {},
"source": [
"We now install PyTorch Geometric according to our PyTorch Version. We also install Weights & Biases."
@@ -58,7 +59,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "28080574",
+ "id": "f6d2ea50",
"metadata": {},
"outputs": [],
"source": [
@@ -72,7 +73,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "749b65e3",
+ "id": "3ca54e60",
"metadata": {},
"source": [
"### Import Libraries"
@@ -81,7 +82,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "ffe08f49-0e83-42b7-b404-54955ca98620",
+ "id": "e268c311",
"metadata": {},
"outputs": [],
"source": [
@@ -103,7 +104,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "ae6f606d",
+ "id": "452b8915",
"metadata": {},
"source": [
"## Function to Build Data Loaders"
@@ -112,7 +113,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "8eaf84b3-9588-4b6b-82b6-b7e276021ab0",
+ "id": "b941afd2",
"metadata": {},
"outputs": [],
"source": [
@@ -154,7 +155,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "c7527796",
+ "id": "1739fa2d",
"metadata": {},
"source": [
"## Implementing the PointNet++ Model using PyTorch Geometric"
@@ -163,7 +164,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "101cf26d-76ed-4174-8061-c06d7ea480be",
+ "id": "5c7954c1",
"metadata": {},
"outputs": [],
"source": [
@@ -225,7 +226,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "25e67ec4",
+ "id": "377b785a",
"metadata": {},
"source": [
"## Define a Training Function Instrumented with WandB"
@@ -234,7 +235,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "ba5b572b-5041-4fa4-af37-028e5ff2c49d",
+ "id": "127f4dcb",
"metadata": {},
"outputs": [],
"source": [
@@ -285,8 +286,9 @@
" range(num_train_examples),\n",
" desc=f\"Training Epoch {epoch}/{config.epochs}\"\n",
" )\n",
+ " data_iter = iter(train_loader)\n",
" for batch_idx in progress_bar:\n",
- " data = next(iter(train_loader)).to(device)\n",
+ " data = next(data_iter).to(device)\n",
"\n",
" optimizer.zero_grad()\n",
" prediction = model(data)\n",
@@ -314,8 +316,9 @@
" range(num_val_examples),\n",
" desc=f\"Validation Epoch {epoch}/{config.epochs}\"\n",
" )\n",
+ " data_iter = iter(val_loader)\n",
" for batch_idx in progress_bar:\n",
- " data = next(iter(val_loader)).to(device)\n",
+ " data = next(data_iter).to(device)\n",
"\n",
" with torch.no_grad():\n",
" prediction = model(data)\n",
@@ -358,7 +361,7 @@
{
"attachments": {},
"cell_type": "markdown",
- "id": "f2767675",
+ "id": "6f903aee",
"metadata": {},
"source": [
"## Start the Hyperparameter Sweep"
@@ -367,7 +370,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "cec4ce63-92bb-4fa0-a04e-81ba9b7337f2",
+ "id": "9c4c673b",
"metadata": {},
"outputs": [],
"source": [
@@ -393,14 +396,6 @@
"# Run Sweep\n",
"wandb.agent(sweep_id, function=train, count=30)"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "5680dad3-f42c-4b6a-b3e7-4dedeedfc88c",
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/pytorch-lightning/Fine_tuning_a_Transformer_with_Pytorch_Lightning.ipynb b/colabs/pytorch-lightning/Fine_tuning_a_Transformer_with_Pytorch_Lightning.ipynb
index ac7348d7..3ddb4919 100644
--- a/colabs/pytorch-lightning/Fine_tuning_a_Transformer_with_Pytorch_Lightning.ipynb
+++ b/colabs/pytorch-lightning/Fine_tuning_a_Transformer_with_Pytorch_Lightning.ipynb
@@ -64,7 +64,7 @@
"outputs": [],
"source": [
"# Install some dependencies\n",
- "!pip install pandas torch pytorch-lightning transformers==4.1.1 -q\n",
+ "!pip install pandas torch lightning transformers\n",
"!pip install -Uq wandb"
]
},
@@ -81,7 +81,7 @@
"import transformers\n",
"import numpy as np\n",
"import pandas as pd\n",
- "import pytorch_lightning as pl"
+ "import lightning.pytorch as pl"
]
},
{
@@ -102,11 +102,17 @@
"source": [
"\"\"\"\n",
"Note that if you are using W&B local you will need to pass the url of your W&B \n",
- "deployment to wandb.login through the host keyword argument.\n",
"\n",
"For example:\n",
- "wandb.login(host=\"api.wandb.ai\")\n",
- "\"\"\"\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -239,7 +245,7 @@
" \n",
" # Download the raw cola data from the 'zipfile' reference we added to the cola-raw artifact.\n",
" raw_data_artifact = run.use_artifact(\"cola-raw:latest\")\n",
- " zip_path = raw_data_artifact.get_path(\"zipfile\").download()\n",
+ " zip_path = raw_data_artifact.get_entry(\"zipfile\").download()\n",
" !unzip -o $zip_path # jupyter hack to unzip data :P\n",
" \n",
" # Read in the raw data, log it to W&B as a wandb.Table\n",
@@ -292,7 +298,7 @@
"\n",
" # Download the preprocessed data\n",
" pp_data_artifact = run.use_artifact(\"preprocessed-data:latest\")\n",
- " data_path = pp_data_artifact.get_path(\"dataset\").download()\n",
+ " data_path = pp_data_artifact.get_entry(\"dataset\").download()\n",
" dataset = torch.load(data_path)\n",
"\n",
" # Calculate the number of samples to include in each set.\n",
@@ -404,8 +410,8 @@
"\n",
" # Load the datasets from the split-dataset artifact\n",
" data = run.use_artifact(\"split-dataset:latest\")\n",
- " train_dataset = torch.load(data.get_path(\"train-data\").download())\n",
- " val_dataset = torch.load(data.get_path(\"validation-data\").download())\n",
+ " train_dataset = torch.load(data.get_entry(\"train-data\").download())\n",
+ " val_dataset = torch.load(data.get_entry(\"validation-data\").download())\n",
"\n",
" # Extract the config object associated with the run\n",
" config = run.config\n",
@@ -420,7 +426,7 @@
" gpus = -1 if torch.cuda.is_available() else 0\n",
" \n",
" # Construct a Trainer object with the W&B logger we created and epoch set by the config object\n",
- " trainer = pl.Trainer(max_epochs=config.epochs, gpus=gpus, logger=logger)\n",
+ " trainer = pl.Trainer(max_epochs=config.epochs, logger=logger)\n",
" \n",
" # Build data loaders for our datasets, using the batch_size from our config object\n",
" train_data_loader = torch.utils.data.DataLoader(train_dataset, batch_size=config.batch_size)\n",
@@ -456,11 +462,6 @@
"\n"
]
},
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": []
- },
{
"cell_type": "markdown",
"metadata": {},
@@ -535,6 +536,18 @@
"kernelspec": {
"display_name": "Python 3",
"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.2"
}
},
"nbformat": 4,
diff --git a/colabs/pytorch-lightning/Image_Classification_using_PyTorch_Lightning.ipynb b/colabs/pytorch-lightning/Image_Classification_using_PyTorch_Lightning.ipynb
index ecd1ffa8..82c9402b 100644
--- a/colabs/pytorch-lightning/Image_Classification_using_PyTorch_Lightning.ipynb
+++ b/colabs/pytorch-lightning/Image_Classification_using_PyTorch_Lightning.ipynb
@@ -27,7 +27,7 @@
"\n",
"# Image Classification using PyTorch Lightning ⚡️\n",
"\n",
- "We will build an image classification pipeline using PyTorch Lightning. We will follow this [style guide](https://pytorch-lightning.readthedocs.io/en/stable/starter/style_guide.html) to increase the readability and reproducibility of our code. A cool explanation of this available [here](https://wandb.ai/wandb/wandb-lightning/reports/Image-Classification-using-PyTorch-Lightning--VmlldzoyODk1NzY)."
+ "We will build an image classification pipeline using PyTorch Lightning. We will follow this [style guide](https://lightning.ai/docs/pytorch/stable/starter/style_guide.html) to increase the readability and reproducibility of our code. A cool explanation of this available [here](https://wandb.ai/wandb/wandb-lightning/reports/Image-Classification-using-PyTorch-Lightning--VmlldzoyODk1NzY)."
]
},
{
@@ -46,7 +46,7 @@
"metadata": {},
"outputs": [],
"source": [
- "!pip install pytorch-lightning -q\n",
+ "!pip install lightning torchvision -q\n",
"# install weights and biases\n",
"!pip install wandb -qU"
]
@@ -65,9 +65,9 @@
"metadata": {},
"outputs": [],
"source": [
- "import pytorch_lightning as pl\n",
+ "import lightning.pytorch as pl\n",
"# your favorite machine learning tracking tool\n",
- "from pytorch_lightning.loggers import WandbLogger\n",
+ "from lightning.pytorch.loggers import WandbLogger\n",
"\n",
"import torch\n",
"from torch import nn\n",
@@ -115,7 +115,7 @@
"- Apply transforms (rotate, tokenize, etc…).\n",
"- Wrap inside a DataLoader.\n",
"\n",
- "Learn more about datamodules [here](https://pytorch-lightning.readthedocs.io/en/stable/extensions/datamodules.html). Let's build a datamodule for the Cifar-10 dataset. "
+ "Learn more about datamodules [here](https://lightning.ai/docs/pytorch/stable/data/datamodule.html). Let's build a datamodule for the Cifar-10 dataset. "
]
},
{
@@ -168,8 +168,8 @@
"source": [
"## 📱 Callbacks\n",
"\n",
- "A callback is a self-contained program that can be reused across projects. PyTorch Lightning comes with few [built-in callbacks](https://pytorch-lightning.readthedocs.io/en/latest/extensions/callbacks.html#built-in-callbacks) which are regularly used. \n",
- "Learn more about callbacks in PyTorch Lightning [here](https://pytorch-lightning.readthedocs.io/en/latest/extensions/callbacks.html)."
+ "A callback is a self-contained program that can be reused across projects. PyTorch Lightning comes with few [built-in callbacks](https://lightning.ai/docs/pytorch/latest/extensions/callbacks.html#built-in-callbacks) which are regularly used. \n",
+ "Learn more about callbacks in PyTorch Lightning [here](https://lightning.ai/docs/pytorch/latest/extensions/callbacks.html)."
]
},
{
@@ -179,7 +179,7 @@
"source": [
"### Built-in Callbacks\n",
"\n",
- "In this tutorial, we will use [Early Stopping](https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.EarlyStopping.html#pytorch_lightning.callbacks.EarlyStopping) and [Model Checkpoint](https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.ModelCheckpoint.html#pytorch_lightning.callbacks.ModelCheckpoint) built-in callbacks. They can be passed to the `Trainer`.\n"
+ "In this tutorial, we will use [Early Stopping](https://lightning.ai/docs/pytorch/latest/api/lightning.pytorch.callbacks.EarlyStopping.html#lightning.callbacks.EarlyStopping) and [Model Checkpoint](https://lightning.ai/docs/pytorch/latest/api/lightning.pytorch.callbacks.ModelCheckpoint.html#pytorch_lightning.callbacks.ModelCheckpoint) built-in callbacks. They can be passed to the `Trainer`.\n"
]
},
{
@@ -437,16 +437,9 @@
"I hope you find this report helpful. I will encourage to play with the code and train an image classifier with a dataset of your choice. \n",
"\n",
"Here are some resources to learn more about PyTorch Lightning:\n",
- "- [Step-by-step walk-through](https://pytorch-lightning.readthedocs.io/en/latest/starter/introduction.html) - This is one of the official tutorials. Their documentation is really well written and I highly encourage it as a good learning resource.\n",
+ "- [Step-by-step walk-through](https://lightning.ai/docs/pytorch/latest/starter/introduction.html) - This is one of the official tutorials. Their documentation is really well written and I highly encourage it as a good learning resource.\n",
"- [Use Pytorch Lightning with Weights & Biases](https://wandb.me/lightning) - This is a quick colab that you can run through to learn more about how to use W&B with PyTorch Lightning."
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
@@ -459,6 +452,18 @@
"kernelspec": {
"display_name": "Python 3",
"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.2"
}
},
"nbformat": 4,
diff --git a/colabs/pytorch-lightning/Optimize_Pytorch_Lightning_models_with_Weights_&_Biases.ipynb b/colabs/pytorch-lightning/Optimize_Pytorch_Lightning_models_with_Weights_&_Biases.ipynb
index 268e5dbb..3cf40163 100644
--- a/colabs/pytorch-lightning/Optimize_Pytorch_Lightning_models_with_Weights_&_Biases.ipynb
+++ b/colabs/pytorch-lightning/Optimize_Pytorch_Lightning_models_with_Weights_&_Biases.ipynb
@@ -28,8 +28,8 @@
"Coupled with the [Weights & Biases integration](https://docs.wandb.com/library/integrations/lightning), you can quickly train and monitor models for full traceability and reproducibility with only 2 extra lines of code:\n",
"\n",
"```python\n",
- "from pytorch_lightning.loggers import WandbLogger\n",
- "from pytorch_lightning import Trainer\n",
+ "from lightning.pytorch.loggers import WandbLogger\n",
+ "from lightning.pytorch import Trainer\n",
"\n",
"wandb_logger = WandbLogger()\n",
"trainer = Trainer(logger=wandb_logger)\n",
@@ -64,7 +64,7 @@
"metadata": {},
"outputs": [],
"source": [
- "!pip install -q pytorch-lightning wandb"
+ "!pip install -q lightning wandb torchvision"
]
},
{
@@ -80,7 +80,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -142,6 +150,15 @@
"* Call self.log in `training_step` and `validation_step` to log the metrics"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import lightning.pytorch as pl"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
@@ -152,9 +169,8 @@
"from torch.nn import Linear, CrossEntropyLoss, functional as F\n",
"from torch.optim import Adam\n",
"from torchmetrics.functional import accuracy\n",
- "from pytorch_lightning import LightningModule\n",
"\n",
- "class MNIST_LitModule(LightningModule):\n",
+ "class MNIST_LitModule(pl.LightningModule):\n",
"\n",
" def __init__(self, n_classes=10, n_layer_1=128, n_layer_2=256, lr=1e-3):\n",
" '''method used to define our model parameters'''\n",
@@ -265,7 +281,7 @@
"metadata": {},
"outputs": [],
"source": [
- "from pytorch_lightning.callbacks import ModelCheckpoint\n",
+ "from lightning.pytorch.callbacks import ModelCheckpoint\n",
"\n",
"checkpoint_callback = ModelCheckpoint(monitor='val_accuracy', mode='max')"
]
@@ -276,9 +292,9 @@
"source": [
"## 💡 Tracking Experiments with WandbLogger\n",
"\n",
- "PyTorch Lightning has a `WandbLogger` to easily log your experiments with Wights & Biases. Just pass it to your `Trainer` to log to W&B. See the [WandbLogger docs](https://pytorch-lightning.readthedocs.io/en/stable/extensions/generated/pytorch_lightning.loggers.WandbLogger.html#pytorch_lightning.loggers.WandbLogger) for all parameters. Note, to log the metrics to a specific W&B Team, pass your Team name to the `entity` argument in `WandbLogger`\n",
+ "PyTorch Lightning has a `WandbLogger` to easily log your experiments with Wights & Biases. Just pass it to your `Trainer` to log to W&B. See the [WandbLogger docs](https://lightning.ai/docs/pytorch/stable/extensions/generated/pytorch_lightning.loggers.WandbLogger.html#pytorch_lightning.loggers.WandbLogger) for all parameters. Note, to log the metrics to a specific W&B Team, pass your Team name to the `entity` argument in `WandbLogger`\n",
"\n",
- "#### `pytorch_lightning.loggers.WandbLogger()`\n",
+ "#### `lightning.pytorch.loggers.WandbLogger()`\n",
"\n",
"| Functionality | Argument/Function | PS |\n",
"| ------ | ------ | ------ |\n",
@@ -287,9 +303,9 @@
"| Organize runs by project | `WandbLogger(... ,project='my_project')` | |\n",
"| Log histograms of gradients and parameters | `WandbLogger.watch(model)` | `WandbLogger.watch(model, log='all')` to log parameter histograms |\n",
"| Log hyperparameters | Call `self.save_hyperparameters()` within `LightningModule.__init__()` |\n",
- "| Log custom objects (images, audio, video, molecules…) | Use `WandbLogger.log_text`, `WandbLogger.log_image` and `WandbLogger.log_table` |\n",
+ "| Log custom objects (images, audio, video, molecules…) | Use `WandbLogger.log_text`, `WandbLogger.log_image` and `WandbLogger.log_table`, etc. |\n",
"\n",
- "See the [WandbLogger docs](https://pytorch-lightning.readthedocs.io/en/stable/extensions/generated/pytorch_lightning.loggers.WandbLogger.html#pytorch_lightning.loggers.WandbLogger) here for all parameters. "
+ "See the [WandbLogger docs](https://lightning.ai/docs/pytorch/stable/extensions/generated/pytorch_lightning.loggers.WandbLogger.html#pytorch_lightning.loggers.WandbLogger) here for all parameters. "
]
},
{
@@ -298,8 +314,8 @@
"metadata": {},
"outputs": [],
"source": [
- "from pytorch_lightning.loggers import WandbLogger\n",
- "from pytorch_lightning import Trainer\n",
+ "from lightning.pytorch.loggers import WandbLogger\n",
+ "from lightning.pytorch import Trainer\n",
"\n",
"wandb_logger = WandbLogger(project='MNIST', # group runs in \"MNIST\" project\n",
" log_model='all') # log all new checkpoints during training"
@@ -326,12 +342,12 @@
"metadata": {},
"outputs": [],
"source": [
- "from pytorch_lightning.callbacks import Callback\n",
+ "from lightning.pytorch.callbacks import Callback\n",
" \n",
"class LogPredictionsCallback(Callback):\n",
" \n",
" def on_validation_batch_end(\n",
- " self, trainer, pl_module, outputs, batch, batch_idx, dataloader_idx):\n",
+ " self, trainer, pl_module, outputs, batch, batch_idx):\n",
" \"\"\"Called when the validation batch ends.\"\"\"\n",
" \n",
" # `outputs` comes from `LightningModule.validation_step`\n",
diff --git a/colabs/pytorch-lightning/Profile_PyTorch_Code.ipynb b/colabs/pytorch-lightning/Profile_PyTorch_Code.ipynb
index 573e035a..35040872 100644
--- a/colabs/pytorch-lightning/Profile_PyTorch_Code.ipynb
+++ b/colabs/pytorch-lightning/Profile_PyTorch_Code.ipynb
@@ -88,7 +88,7 @@
"metadata": {},
"outputs": [],
"source": [
- "!pip install -q wandb pytorch_lightning torch_tb_profiler"
+ "!pip install -q wandb lightning torch_tb_profiler torchvision"
]
},
{
@@ -99,7 +99,7 @@
"source": [
"import glob\n",
"\n",
- "import pytorch_lightning as pl\n",
+ "import lightning.pytorch as pl\n",
"import torch\n",
"import torch.nn as nn\n",
"import torch.nn.functional as F\n",
@@ -113,8 +113,15 @@
"# drop slow mirror from list of MNIST mirrors\n",
"torchvision.datasets.MNIST.mirrors = [mirror for mirror in torchvision.datasets.MNIST.mirrors\n",
" if not mirror.startswith(\"http://yann.lecun.com\")]\n",
- " \n",
- "# login to W&B\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -350,7 +357,7 @@
" with profiler:\n",
" profiler_callback = TorchTensorboardProfilerCallback(profiler)\n",
"\n",
- " trainer = pl.Trainer(gpus=1, max_epochs=1, max_steps=total_steps,\n",
+ " trainer = pl.Trainer(max_epochs=1, max_steps=total_steps,\n",
" logger=pl.loggers.WandbLogger(log_model=True, save_code=True),\n",
" callbacks=[profiler_callback], precision=wandb.config.precision)\n",
"\n",
diff --git a/colabs/pytorch-lightning/Supercharge_your_Training_with_Pytorch_Lightning_and_Weights_and_Biases.ipynb b/colabs/pytorch-lightning/Supercharge_your_Training_with_Pytorch_Lightning_and_Weights_and_Biases.ipynb
index 36b8af7a..018a1ad6 100644
--- a/colabs/pytorch-lightning/Supercharge_your_Training_with_Pytorch_Lightning_and_Weights_and_Biases.ipynb
+++ b/colabs/pytorch-lightning/Supercharge_your_Training_with_Pytorch_Lightning_and_Weights_and_Biases.ipynb
@@ -1,855 +1,969 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "\n",
- "\n",
- "\n",
- "# ⚡ 💘 🏋️♀️ Supercharge your Training with PyTorch Lightning + Weights & Biases"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": []
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "At Weights & Biases, we love anything\n",
- "that makes training deep learning models easier.\n",
- "That's why we worked with the folks at PyTorch Lightning to\n",
- "[integrate our experiment tracking tool](https://docs.wandb.com/library/integrations/lightning)\n",
- "directly into\n",
- "[the Lightning library](https://pytorch-lightning.readthedocs.io/en/latest/common/loggers.html#weights-and-biases).\n",
- "\n",
- "[PyTorch Lightning](https://pytorch-lightning.readthedocs.io/en/stable/) is a lightweight wrapper for organizing your PyTorch code and easily adding advanced features such as distributed training and 16-bit precision.\n",
- "It retains all the flexibility of PyTorch,\n",
- "in case you need it,\n",
- "but adds some useful abstractions\n",
- "and builds in some best practices.\n",
- "\n",
- "## What this notebook covers:\n",
- "\n",
- "1. Differences between PyTorch and PyTorch Lightning, including how to set up `LightningModules` and `LightningDataModules`\n",
- "2. How to get basic metric logging with the [`WandbLogger`](https://pytorch-lightning.readthedocs.io/en/latest/common/loggers.html#weights-and-biases)\n",
- "3. How to log media with W&B and fully customize logging with Lightning `Callbacks`\n",
- "\n",
- "## The interactive dashboard in W&B will look like this:\n",
- "\n",
- "![](https://i.imgur.com/lIbMyFR.png)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Follow along with a [video tutorial](http://wandb.me/lit-video)!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 🚀 Installing and importing"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "`wandb` and `pytorch-lightning` are both easily installable via [`pip`](https://pip.pypa.io/en/stable/)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "!pip install -qqq wandb pytorch-lightning torchmetrics"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "PyTorch Lightning is built on top of PyTorch,\n",
- "so we still need to import vanilla PyTorch."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# numpy for non-GPU array math\n",
- "import numpy as np\n",
- "\n",
- "# 🍦 Vanilla PyTorch\n",
- "import torch\n",
- "from torch.nn import functional as F\n",
- "from torch import nn\n",
- "from torch.utils.data import DataLoader, random_split\n",
- "\n",
- "# 👀 Torchvision for CV\n",
- "from torchvision.datasets import MNIST\n",
- "from torchvision import transforms\n",
- "\n",
- "# remove slow mirror from list of MNIST mirrors\n",
- "MNIST.mirrors = [mirror for mirror in MNIST.mirrors\n",
- " if not mirror.startswith(\"http://yann.lecun.com\")]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Much of Lightning is built on the [Modules](https://pytorch.org/docs/stable/generated/torch.nn.Module.html)\n",
- "API from PyTorch,\n",
- "but adds extra features\n",
- "(like data loading and logging)\n",
- "that are common to lots of PyTorch projects.\n",
- "\n",
- "Let's bring those in,\n",
- "plus W&B and the integration.\n",
- "\n",
- "Lastly, we log in to the [Weights & Biases web service](https://wandb.ai).\n",
- "If you've never used W&B,\n",
- "you'll need to sign up first.\n",
- "Accounts are free forever for academic and public projects."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# ⚡ PyTorch Lightning\n",
- "import pytorch_lightning as pl\n",
- "import torchmetrics\n",
- "pl.seed_everything(hash(\"setting random seeds\") % 2**32 - 1)\n",
- "\n",
- "# 🏋️♀️ Weights & Biases\n",
- "import wandb\n",
- "\n",
- "# ⚡ 🤝 🏋️♀️\n",
- "from pytorch_lightning.loggers import WandbLogger\n",
- "\n",
- "wandb.login()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "> _Note_: If you're executing your training in a terminal, rather than a notebook, you don't need to include `wandb.login()` in your script.\n",
- "Instead, call `wandb login` in the terminal and we'll keep you logged in for future runs."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 🏗️ Building a Model with Lightning\n",
- "\n",
- "In PyTorch Lightning, models are built with `LightningModule` ([docs here](https://pytorch-lightning.readthedocs.io/en/latest/lightning_module.html)), which has all the functionality of a vanilla `torch.nn.Module` (🍦) but with a few delicious cherries of added functionality on top (🍨).\n",
- "These cherries are there to cut down on boilerplate and\n",
- "help separate out the ML engineering code\n",
- "from the actual machine learning.\n",
- "\n",
- "For example, the mechanics of iterating over batches\n",
- "as part of an epoch are extracted away,\n",
- "so long as you define what happens on the `training_step`.\n",
- "\n",
- "To make a working model out of a `LightningModule`,\n",
- "we need to define a new `class` and add a few methods on top.\n",
- "\n",
- "We'll demonstrate this process with `LitMLP`,\n",
- "which applies a two-layer perceptron\n",
- "(aka two fully-connected layers and\n",
- "a fully-connected softmax readout layer)\n",
- "to input `Tensors`.\n",
- "\n",
- "> _Note_: It is common in the Lightning community to shorten \"Lightning\" to \"[Lit](https://www.urbandictionary.com/define.php?term=it%27s%20lit)\".\n",
- "This sometimes it sound like\n",
- "[your code was written by Travis Scott](https://www.youtube.com/watch?v=y3FCXV8oEZU).\n",
- "We consider this a good thing."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 🍦 `__init__` and `forward`\n",
- "\n",
- "First, we need to add two methods that\n",
- "are part of any vanilla PyTorch model."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Those methods are:\n",
- "* `__init__` to do any setup, just like any Python class\n",
- "* `forward` for inference, just like a PyTorch Module\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The `forward` pass method is standard,\n",
- "and it'll be different for every project,\n",
- "so we won't comment on it.\n",
- "\n",
- "The `__init__` method,\n",
- "which `init`ializes new instances of the class,\n",
- "is a good place to log hyperparameter information to `wandb`.\n",
- "\n",
- "This is done with the `save_hyperparameters` method,\n",
- "which captures all of the arguments to the initializer\n",
- "and adds them to a dictionary at `self.hparams` --\n",
- "that all comes for free as part of the `LightningModule`.\n",
- "\n",
- "> _Note_: `hparams` is logged to `wandb` as the `config`,\n",
- "so you'll never lose track of the arguments you used to run a model again!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "class LitMLP(pl.LightningModule):\n",
- "\n",
- " def __init__(self, in_dims, n_classes=10,\n",
- " n_layer_1=128, n_layer_2=256, lr=1e-4):\n",
- " super().__init__()\n",
- "\n",
- " # we flatten the input Tensors and pass them through an MLP\n",
- " self.layer_1 = nn.Linear(np.prod(in_dims), n_layer_1)\n",
- " self.layer_2 = nn.Linear(n_layer_1, n_layer_2)\n",
- " self.layer_3 = nn.Linear(n_layer_2, n_classes)\n",
- "\n",
- " # log hyperparameters\n",
- " self.save_hyperparameters()\n",
- "\n",
- " # compute the accuracy -- no need to roll your own!\n",
- " self.train_acc = torchmetrics.Accuracy()\n",
- " self.valid_acc = torchmetrics.Accuracy()\n",
- " self.test_acc = torchmetrics.Accuracy()\n",
- "\n",
- " def forward(self, x):\n",
- " \"\"\"\n",
- " Defines a forward pass using the Stem-Learner-Task\n",
- " design pattern from Deep Learning Design Patterns:\n",
- " https://www.manning.com/books/deep-learning-design-patterns\n",
- " \"\"\"\n",
- " batch_size, *dims = x.size()\n",
- "\n",
- " # stem: flatten\n",
- " x = x.view(batch_size, -1)\n",
- "\n",
- " # learner: two fully-connected layers\n",
- " x = F.relu(self.layer_1(x))\n",
- " x = F.relu(self.layer_2(x))\n",
- " \n",
- " # task: compute class logits\n",
- " x = self.layer_3(x)\n",
- " x = F.log_softmax(x, dim=1)\n",
- "\n",
- " return x\n",
- "\n",
- " # convenient method to get the loss on a batch\n",
- " def loss(self, xs, ys):\n",
- " logits = self(xs) # this calls self.forward\n",
- " loss = F.nll_loss(logits, ys)\n",
- " return logits, loss"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "> _Note_: for pedagogical purposes, we're splitting out\n",
- "each stage of building the `LitMLP` into a different cell.\n",
- "In a more typical workflow,\n",
- "this would all happen in the `class` definition.\n",
- "\n",
- "> _Note_: if you're familiar with PyTorch,\n",
- "you might be surprised to see we aren't taking care with `.device`s:\n",
- "no `to_cuda` etc. PyTorch Lightning handles all that for you! 😎"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 🍨 `training_step` and `configure_optimizers`\n",
- "Now, we add some special methods so that our `LitMLP` can be trained\n",
- "using PyTorch Lightning's training API.\n",
- "\n",
- "> _Note_: if you've used Keras, this might be familiar.\n",
- "It's very similar to the `.fit` API in that library."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Those methods are\n",
- "\n",
- "* `training_step`, which takes a batch and computes the loss; backprop goes through it\n",
- "* `configure_optimizers`, which returns the `torch.optim.Optimizer` to apply after the `training_step`"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "> _Note_: `training_step` is part of a rich system of callbacks in PyTorch Lightning.\n",
- "These callbacks are methods that get called\n",
- "at specific points during training\n",
- "(e.g. when a validation epoch ends),\n",
- "and they are a major part of what makes\n",
- "PyTorch Lightning both useful and extensible."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here's where we add some more serious logging code.\n",
- "`self.log` takes a name and value for a metric.\n",
- "Under the hood, this will get passed to `wandb.log` if you're using W&B.\n",
- "\n",
- "The logging behavior of PyTorch Lightning is both intelligent and configurable.\n",
- "For example, by passing the `on_epoch`\n",
- "keyword argument here,\n",
- "we'll get `_epoch`-wise averages\n",
- "of the metrics logged on each `_step`,\n",
- "and those metrics will be named differently\n",
- "in the W&B interface.\n",
- "When training in a distributed setting,\n",
- "these averages will be automatically computed across nodes.\n",
- "\n",
- "Read more about the `log` method [in the docs](https://pytorch-lightning.readthedocs.io/en/latest/lightning_module.html#log)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def training_step(self, batch, batch_idx):\n",
- " xs, ys = batch\n",
- " logits, loss = self.loss(xs, ys)\n",
- " preds = torch.argmax(logits, 1)\n",
- "\n",
- " # logging metrics we calculated by hand\n",
- " self.log('train/loss', loss, on_epoch=True)\n",
- " # logging a pl.Metric\n",
- " self.train_acc(preds, ys)\n",
- " self.log('train/acc', self.train_acc, on_epoch=True)\n",
- " \n",
- " return loss\n",
- "\n",
- "def configure_optimizers(self):\n",
- " return torch.optim.Adam(self.parameters(), lr=self.hparams[\"lr\"])\n",
- "\n",
- "LitMLP.training_step = training_step\n",
- "LitMLP.configure_optimizers = configure_optimizers"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## ➕ Optional methods for even better logging\n",
- "\n",
- "The code above will log our model's performance,\n",
- "system metrics, and more to W&B.\n",
- "\n",
- "If we want to take our logging to the next level,\n",
- "we need to make use of PyTorch Lightning's callback system.\n",
- "\n",
- "> _Note_: thanks to the clean design of PyTorch Lightning,\n",
- "the training code below will run with or without any\n",
- "of this extra logging code. Nice!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The other callbacks we'll make use of fall into two categories:\n",
- "* methods that trigger on each batch for a dataset: `validation_step` and `test_step`\n",
- "* methods that trigger at the end of an epoch,\n",
- "or a full pass over a given dataset: `{training, validation, test}_epoch_end`"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### 💾 `test`ing and saving the model"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We use the test set to evaluate the performance of the final model,\n",
- "so the `test` callbacks will be called at the end of the training pipeline.\n",
- "\n",
- "For performance on the `test` and `validation` sets,\n",
- "we're typically less concerned about how\n",
- "we do on intermediate steps and more\n",
- "with how we did overall.\n",
- "That's why below, we pass in\n",
- "`on_step=False` and `on_epoch=True`\n",
- "so that we log only `epoch`-wise metrics.\n",
- "\n",
- "> _Note_: That's actually the default behavior for `.log` when it's called inside of a `validation` or a `test` loop -- but not when it's called inside a `training` loop! Check out the table of default behaviors for `.log` [in the docs](https://pytorch-lightning.readthedocs.io/en/latest/lightning_module.html#log)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def test_step(self, batch, batch_idx):\n",
- " xs, ys = batch\n",
- " logits, loss = self.loss(xs, ys)\n",
- " preds = torch.argmax(logits, 1)\n",
- "\n",
- " self.test_acc(preds, ys)\n",
- " self.log(\"test/loss_epoch\", loss, on_step=False, on_epoch=True)\n",
- " self.log(\"test/acc_epoch\", self.test_acc, on_step=False, on_epoch=True)\n",
- "\n",
- "LitMLP.test_step = test_step"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We'll also take the opportunity to save the model in the\n",
- "[portable `ONNX` format](https://onnx.ai/).\n",
- "\n",
- "\n",
- "Later,\n",
- "we'll see that this allows us to use the\n",
- "[Netron model viewer](https://github.com/lutzroeder/netron) in W&B."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def test_epoch_end(self, test_step_outputs): # args are defined as part of pl API\n",
- " dummy_input = torch.zeros(self.hparams[\"in_dims\"], device=self.device)\n",
- " model_filename = \"model_final.onnx\"\n",
- " self.to_onnx(model_filename, dummy_input, export_params=True)\n",
- " artifact = wandb.Artifact(name=\"model.ckpt\", type=\"model\")\n",
- " artifact.add_file(model_filename)\n",
- " wandb.log_artifact(artifact)\n",
- "\n",
- "LitMLP.test_epoch_end = test_epoch_end"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### 📊 Logging `Histograms`"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For the `validation_data`,\n",
- "let's track not only the `acc`uracy and `loss`,\n",
- "but also the `logits`:\n",
- "the un-normalized class probabilities.\n",
- "That way, we can track if our network\n",
- "is becoming more or less confident over time.\n",
- "\n",
- "There's a problem though:\n",
- "`.log` wants to average,\n",
- "but we'd rather look at a distribution.\n",
- "\n",
- "So instead, on every `validation_step`,\n",
- "we'll `return` the `logits`,\n",
- "rather than `log`ging them.\n",
- "\n",
- "Then, when we reach the `end`\n",
- "of the `validation_epoch`,\n",
- "the `logits` are available as the\n",
- "`validation_step_outputs` -- a list.\n",
- "\n",
- "So to log we'll take those `logits`,\n",
- "concatenate them together,\n",
- "and turn them into a histogram with [`wandb.Histogram`](https://docs.wandb.com/library/log#histograms).\n",
- "\n",
- "Because we're no longer using Lightning's `.log` interface and are instead using `wandb`,\n",
- "we need to drop down a level and use\n",
- "`self.experiment.logger.log`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def validation_step(self, batch, batch_idx):\n",
- " xs, ys = batch\n",
- " logits, loss = self.loss(xs, ys)\n",
- " preds = torch.argmax(logits, 1)\n",
- " self.valid_acc(preds, ys)\n",
- "\n",
- " self.log(\"valid/loss_epoch\", loss) # default on val/test is on_epoch only\n",
- " self.log('valid/acc_epoch', self.valid_acc)\n",
- " \n",
- " return logits\n",
- "\n",
- "def validation_epoch_end(self, validation_step_outputs):\n",
- " dummy_input = torch.zeros(self.hparams[\"in_dims\"], device=self.device)\n",
- " model_filename = f\"model_{str(self.global_step).zfill(5)}.onnx\"\n",
- " torch.onnx.export(self, dummy_input, model_filename, opset_version=11)\n",
- " artifact = wandb.Artifact(name=\"model.ckpt\", type=\"model\")\n",
- " artifact.add_file(model_filename)\n",
- " self.logger.experiment.log_artifact(artifact)\n",
- "\n",
- " flattened_logits = torch.flatten(torch.cat(validation_step_outputs))\n",
- " self.logger.experiment.log(\n",
- " {\"valid/logits\": wandb.Histogram(flattened_logits.to(\"cpu\")),\n",
- " \"global_step\": self.global_step})\n",
- "\n",
- "LitMLP.validation_step = validation_step\n",
- "LitMLP.validation_epoch_end = validation_epoch_end"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Note that we're once again saving\n",
- "the model in ONNX format.\n",
- "That way, we can roll back our model to any given epoch --\n",
- "useful in case the evaluation on the test set reveals we've overfit."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### 📲 `Callback`s for extra-fancy logging"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "What we've done so far\n",
- "will tell us how well our model\n",
- "is using our system resources,\n",
- "how well our model is training and generalizing,\n",
- "and how confident it is.\n",
- "\n",
- "But DNNs often fail in pernicious and silent ways.\n",
- "Often, the only way to notice these failures\n",
- "is to look at how the model is doing\n",
- "on specific examples.\n",
- "\n",
- "So let's additionally log some detailed information on some specific examples:\n",
- "the inputs, outputs,\n",
- "and `pred`ictions.\n",
- "\n",
- "We'll do this by writing our own `Callback` --\n",
- "one that, after every `validation_epoch` ends,\n",
- "logs input images and output predictions\n",
- "using W&B's `Image` logger.\n",
- "\n",
- "> _Note_:\n",
- "For more on the W&B media toolkit, read the [docs](https://docs.wandb.com/library/log#media)\n",
- "or check out\n",
- "[this Colab](http://wandb.me/media-colab)\n",
- "to see everything it's capable of."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "class ImagePredictionLogger(pl.Callback):\n",
- " def __init__(self, val_samples, num_samples=32):\n",
- " super().__init__()\n",
- " self.val_imgs, self.val_labels = val_samples\n",
- " self.val_imgs = self.val_imgs[:num_samples]\n",
- " self.val_labels = self.val_labels[:num_samples]\n",
- " \n",
- " def on_validation_epoch_end(self, trainer, pl_module):\n",
- " val_imgs = self.val_imgs.to(device=pl_module.device)\n",
- "\n",
- " logits = pl_module(val_imgs)\n",
- " preds = torch.argmax(logits, 1)\n",
- "\n",
- " trainer.logger.experiment.log({\n",
- " \"examples\": [wandb.Image(x, caption=f\"Pred:{pred}, Label:{y}\") \n",
- " for x, pred, y in zip(val_imgs, preds, self.val_labels)],\n",
- " \"global_step\": trainer.global_step\n",
- " })"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 🛒 Loading data\n",
- "\n",
- "Data pipelines can be created with:\n",
- "* 🍦 Vanilla Pytorch `DataLoaders`\n",
- "* ⚡ Pytorch Lightning `DataModules`\n",
- "\n",
- "`DataModules` are more structured definition, which allows for additional optimizations such as automated distribution of workload between CPU & GPU.\n",
- "Using `DataModules` is recommended whenever possible!\n",
- "\n",
- "A `DataModule` is also defined by an interface:\n",
- "* `prepare_data` (optional) which is called only once and on 1 GPU -- typically something like the data download step we have below\n",
- "* `setup`, which is called on each GPU separately and accepts `stage` to define if we are at `fit` or `test` step\n",
- "* `train_dataloader`, `val_dataloader` and `test_dataloader` to load each dataset"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "class MNISTDataModule(pl.LightningDataModule):\n",
- "\n",
- " def __init__(self, data_dir='./', batch_size=128):\n",
- " super().__init__()\n",
- " self.data_dir = data_dir\n",
- " self.batch_size = batch_size\n",
- " self.transform = transforms.Compose([\n",
- " transforms.ToTensor(),\n",
- " transforms.Normalize((0.1307,), (0.3081,))])\n",
- "\n",
- " def prepare_data(self):\n",
- " # download data, train then test\n",
- " MNIST(self.data_dir, train=True, download=True)\n",
- " MNIST(self.data_dir, train=False, download=True)\n",
- "\n",
- " def setup(self, stage=None):\n",
- "\n",
- " # we set up only relevant datasets when stage is specified\n",
- " if stage == 'fit' or stage is None:\n",
- " mnist = MNIST(self.data_dir, train=True, transform=self.transform)\n",
- " self.mnist_train, self.mnist_val = random_split(mnist, [55000, 5000])\n",
- " if stage == 'test' or stage is None:\n",
- " self.mnist_test = MNIST(self.data_dir, train=False, transform=self.transform)\n",
- "\n",
- " # we define a separate DataLoader for each of train/val/test\n",
- " def train_dataloader(self):\n",
- " mnist_train = DataLoader(self.mnist_train, batch_size=self.batch_size)\n",
- " return mnist_train\n",
- "\n",
- " def val_dataloader(self):\n",
- " mnist_val = DataLoader(self.mnist_val, batch_size=10 * self.batch_size)\n",
- " return mnist_val\n",
- "\n",
- " def test_dataloader(self):\n",
- " mnist_test = DataLoader(self.mnist_test, batch_size=10 * self.batch_size)\n",
- " return mnist_test\n",
- "\n",
- "# setup data\n",
- "mnist = MNISTDataModule()\n",
- "mnist.prepare_data()\n",
- "mnist.setup()\n",
- "\n",
- "# grab samples to log predictions on\n",
- "samples = next(iter(mnist.val_dataloader()))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 👟 Making a `Trainer`\n",
- "\n",
- "The `DataLoader` and the `LightningModule`\n",
- "are brought together by a `Trainer`,\n",
- "which orchestrates data loading,\n",
- "gradient calculation,\n",
- "optimizer logic,\n",
- "and logging. \n",
- "\n",
- "Luckily, we don't need to sub-class the `Trainer`,\n",
- "we just need to configure it with keyword arguments."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And that is where we'll use the `pytorch_lightning.loggers.WandbLogger` to connect our logging to W&B."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "wandb_logger = WandbLogger(project=\"lit-wandb\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "> _Note_: Check out [the documentation](https://docs.wandb.com/library/integrations/lightning) for customization options. I like `group`s and `tag`s!.\n",
- "\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can then set up our `Trainer` and customize several options, such as gradient accumulation, half precision training and distributed computing.\n",
- "\n",
- "We'll stick to the basics for this example,\n",
- "but half-precision training and easy scaling to distributed settings are two of the major reasons why folks like PyTorch Lightning!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "trainer = pl.Trainer(\n",
- " logger=wandb_logger, # W&B integration\n",
- " log_every_n_steps=50, # set the logging frequency\n",
- " gpus=-1, # use all GPUs\n",
- " max_epochs=5, # number of epochs\n",
- " deterministic=True, # keep it deterministic\n",
- " callbacks=[ImagePredictionLogger(samples)] # see Callbacks section\n",
- " )"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 🏃♀️ Running our Model"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now, let's make it all happen:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# setup model\n",
- "model = LitMLP(in_dims=(1, 28, 28))\n",
- "\n",
- "# fit the model\n",
- "trainer.fit(model, mnist)\n",
- "\n",
- "# evaluate the model on a test set\n",
- "trainer.test(datamodule=mnist,\n",
- " ckpt_path=None) # uses last-saved model\n",
- "\n",
- "wandb.finish()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "> _Note_: In notebooks, we need to call `wandb.finish()` to indicate when we've finished our run. This isn't necessary in scripts."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Viewing the results on wandb.ai\n",
- "\n",
- "Among the outputs from W&B,\n",
- "you will have noticed a few URLs.\n",
- "One of these is the\n",
- "[run page](https://docs.wandb.ai/ref/app/pages/run-page),\n",
- "which has a dashboard with all of the information logged in this run, complete with smart default charts\n",
- "and more.\n",
- "The run page is printed both at the start and end of training, and ends with `lit-wandb/runs/{run_id}`.\n",
- "\n",
- ">_Note_: When visiting your run page, it is recommended to use `global_step` as x-axis to correctly superimpose metrics logged in different stages.\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "![image.png](data:image/png;base64,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)"
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "include_colab_link": true,
- "provenance": [],
- "toc_visible": true
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "z5w0NbyRVCKD"
+ },
+ "source": [
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "7PI6YWwrVCKF"
+ },
+ "source": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# ⚡ 💘 🏋️♀️ Supercharge your Training with PyTorch Lightning + Weights & Biases"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "mPqv_lacVCKF"
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "zJwmNjhlVCKF"
+ },
+ "source": [
+ "At Weights & Biases, we love anything\n",
+ "that makes training deep learning models easier.\n",
+ "That's why we worked with the folks at PyTorch Lightning to\n",
+ "[integrate our experiment tracking tool](https://docs.wandb.com/library/integrations/lightning)\n",
+ "directly into\n",
+ "[the Lightning library](https://pytorch-lightning.readthedocs.io/en/latest/common/loggers.html#weights-and-biases).\n",
+ "\n",
+ "[PyTorch Lightning](https://pytorch-lightning.readthedocs.io/en/stable/) is a lightweight wrapper for organizing your PyTorch code and easily adding advanced features such as distributed training and 16-bit precision.\n",
+ "It retains all the flexibility of PyTorch,\n",
+ "in case you need it,\n",
+ "but adds some useful abstractions\n",
+ "and builds in some best practices.\n",
+ "\n",
+ "## What this notebook covers:\n",
+ "\n",
+ "1. Differences between PyTorch and PyTorch Lightning, including how to set up `LightningModules` and `LightningDataModules`\n",
+ "2. How to get basic metric logging with the [`WandbLogger`](https://pytorch-lightning.readthedocs.io/en/latest/common/loggers.html#weights-and-biases)\n",
+ "3. How to log media with W&B and fully customize logging with Lightning `Callbacks`\n",
+ "\n",
+ "## The interactive dashboard in W&B will look like this:\n",
+ "\n",
+ "![](https://i.imgur.com/lIbMyFR.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "3-dKMdt4VCKG"
+ },
+ "source": [
+ "## Follow along with a [video tutorial](http://wandb.me/lit-video)!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Y-QLq_y4VCKG"
+ },
+ "source": [
+ "# 🚀 Installing and importing"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "LgFEVQPiVCKG"
+ },
+ "source": [
+ "`wandb` and `pytorch-lightning` are both easily installable via [`pip`](https://pip.pypa.io/en/stable/)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "YKrH3BHxVCKG"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install -qqq wandb lightning torchmetrics onnx"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "HyRgs61mVCKG"
+ },
+ "source": [
+ "PyTorch Lightning is built on top of PyTorch,\n",
+ "so we still need to import vanilla PyTorch."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "UksNGoWZVCKH"
+ },
+ "outputs": [],
+ "source": [
+ "# numpy for non-GPU array math\n",
+ "import numpy as np\n",
+ "\n",
+ "# 🍦 Vanilla PyTorch\n",
+ "import torch\n",
+ "from torch.nn import functional as F\n",
+ "from torch import nn\n",
+ "from torch.utils.data import DataLoader, random_split\n",
+ "\n",
+ "# 👀 Torchvision for CV\n",
+ "from torchvision.datasets import MNIST\n",
+ "from torchvision import transforms\n",
+ "\n",
+ "# remove slow mirror from list of MNIST mirrors\n",
+ "MNIST.mirrors = [mirror for mirror in MNIST.mirrors\n",
+ " if not mirror.startswith(\"http://yann.lecun.com\")]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "kOwGIep1VCKH"
+ },
+ "source": [
+ "Much of Lightning is built on the [Modules](https://pytorch.org/docs/stable/generated/torch.nn.Module.html)\n",
+ "API from PyTorch,\n",
+ "but adds extra features\n",
+ "(like data loading and logging)\n",
+ "that are common to lots of PyTorch projects.\n",
+ "\n",
+ "Let's bring those in,\n",
+ "plus W&B and the integration.\n",
+ "\n",
+ "Lastly, we log in to the [Weights & Biases web service](https://wandb.ai).\n",
+ "If you've never used W&B,\n",
+ "you'll need to sign up first.\n",
+ "Accounts are free forever for academic and public projects."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "6SpApyF_VCKH"
+ },
+ "outputs": [],
+ "source": [
+ "# ⚡ PyTorch Lightning\n",
+ "import lightning.pytorch as pl\n",
+ "import torchmetrics\n",
+ "pl.seed_everything(hash(\"setting random seeds\") % 2**32 - 1)\n",
+ "\n",
+ "# 🏋️♀️ Weights & Biases\n",
+ "import wandb\n",
+ "\n",
+ "# ⚡ 🤝 🏋️♀️\n",
+ "from lightning.pytorch.loggers import WandbLogger\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "WLJp3GnxVCKH"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "bw6unCdQVCKH"
+ },
+ "source": [
+ "> _Note_: If you're executing your training in a terminal, rather than a notebook, you don't need to include `wandb.login()` in your script.\n",
+ "Instead, call `wandb login` in the terminal and we'll keep you logged in for future runs."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "VHlNYD9iVCKH"
+ },
+ "source": [
+ "# 🏗️ Building a Model with Lightning\n",
+ "\n",
+ "In PyTorch Lightning, models are built with `LightningModule` ([docs here](https://pytorch-lightning.readthedocs.io/en/latest/lightning_module.html)), which has all the functionality of a vanilla `torch.nn.Module` (🍦) but with a few delicious cherries of added functionality on top (🍨).\n",
+ "These cherries are there to cut down on boilerplate and\n",
+ "help separate out the ML engineering code\n",
+ "from the actual machine learning.\n",
+ "\n",
+ "For example, the mechanics of iterating over batches\n",
+ "as part of an epoch are extracted away,\n",
+ "so long as you define what happens on the `training_step`.\n",
+ "\n",
+ "To make a working model out of a `LightningModule`,\n",
+ "we need to define a new `class` and add a few methods on top.\n",
+ "\n",
+ "We'll demonstrate this process with `LitMLP`,\n",
+ "which applies a two-layer perceptron\n",
+ "(aka two fully-connected layers and\n",
+ "a fully-connected softmax readout layer)\n",
+ "to input `Tensors`.\n",
+ "\n",
+ "> _Note_: It is common in the Lightning community to shorten \"Lightning\" to \"[Lit](https://www.urbandictionary.com/define.php?term=it%27s%20lit)\".\n",
+ "This sometimes it sound like\n",
+ "[your code was written by Travis Scott](https://www.youtube.com/watch?v=y3FCXV8oEZU).\n",
+ "We consider this a good thing."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "RkIVeyM9VCKI"
+ },
+ "source": [
+ "## 🍦 `__init__` and `forward`\n",
+ "\n",
+ "First, we need to add two methods that\n",
+ "are part of any vanilla PyTorch model."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "coQH1peAVCKI"
+ },
+ "source": [
+ "Those methods are:\n",
+ "* `__init__` to do any setup, just like any Python class\n",
+ "* `forward` for inference, just like a PyTorch Module\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "xr46KZ1ZVCKI"
+ },
+ "source": [
+ "The `forward` pass method is standard,\n",
+ "and it'll be different for every project,\n",
+ "so we won't comment on it.\n",
+ "\n",
+ "The `__init__` method,\n",
+ "which `init`ializes new instances of the class,\n",
+ "is a good place to log hyperparameter information to `wandb`.\n",
+ "\n",
+ "This is done with the `save_hyperparameters` method,\n",
+ "which captures all of the arguments to the initializer\n",
+ "and adds them to a dictionary at `self.hparams` --\n",
+ "that all comes for free as part of the `LightningModule`.\n",
+ "\n",
+ "> _Note_: `hparams` is logged to `wandb` as the `config`,\n",
+ "so you'll never lose track of the arguments you used to run a model again!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "-16a4P3nVCKI"
+ },
+ "outputs": [],
+ "source": [
+ "class LitMLP(pl.LightningModule):\n",
+ "\n",
+ " def __init__(self, in_dims, n_classes=10,\n",
+ " n_layer_1=128, n_layer_2=256, lr=1e-4):\n",
+ " super().__init__()\n",
+ "\n",
+ " # we flatten the input Tensors and pass them through an MLP\n",
+ " self.layer_1 = nn.Linear(np.prod(in_dims), n_layer_1)\n",
+ " self.layer_2 = nn.Linear(n_layer_1, n_layer_2)\n",
+ " self.layer_3 = nn.Linear(n_layer_2, n_classes)\n",
+ "\n",
+ " # log hyperparameters\n",
+ " self.save_hyperparameters()\n",
+ "\n",
+ " # compute the accuracy -- no need to roll your own!\n",
+ " self.train_acc = torchmetrics.Accuracy(task=\"multiclass\", num_classes=n_classes)\n",
+ " self.valid_acc = torchmetrics.Accuracy(task=\"multiclass\", num_classes=n_classes)\n",
+ " self.test_acc = torchmetrics.Accuracy(task=\"multiclass\", num_classes=n_classes)\n",
+ "\n",
+ " def forward(self, x):\n",
+ " \"\"\"\n",
+ " Defines a forward pass using the Stem-Learner-Task\n",
+ " design pattern from Deep Learning Design Patterns:\n",
+ " https://www.manning.com/books/deep-learning-design-patterns\n",
+ " \"\"\"\n",
+ " batch_size, *dims = x.size()\n",
+ "\n",
+ " # stem: flatten\n",
+ " x = x.view(batch_size, -1)\n",
+ "\n",
+ " # learner: two fully-connected layers\n",
+ " x = F.relu(self.layer_1(x))\n",
+ " x = F.relu(self.layer_2(x))\n",
+ "\n",
+ " # task: compute class logits\n",
+ " x = self.layer_3(x)\n",
+ " x = F.log_softmax(x, dim=1)\n",
+ "\n",
+ " return x\n",
+ "\n",
+ " # convenient method to get the loss on a batch\n",
+ " def loss(self, xs, ys):\n",
+ " logits = self(xs) # this calls self.forward\n",
+ " loss = F.nll_loss(logits, ys)\n",
+ " return logits, loss"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "XHIwTEqwVCKI"
+ },
+ "source": [
+ "> _Note_: for pedagogical purposes, we're splitting out\n",
+ "each stage of building the `LitMLP` into a different cell.\n",
+ "In a more typical workflow,\n",
+ "this would all happen in the `class` definition.\n",
+ "\n",
+ "> _Note_: if you're familiar with PyTorch,\n",
+ "you might be surprised to see we aren't taking care with `.device`s:\n",
+ "no `to_cuda` etc. PyTorch Lightning handles all that for you! 😎"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "q9n788xQVCKI"
+ },
+ "source": [
+ "## 🍨 `training_step` and `configure_optimizers`\n",
+ "Now, we add some special methods so that our `LitMLP` can be trained\n",
+ "using PyTorch Lightning's training API.\n",
+ "\n",
+ "> _Note_: if you've used Keras, this might be familiar.\n",
+ "It's very similar to the `.fit` API in that library."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "0PTKSV_4VCKI"
+ },
+ "source": [
+ "Those methods are\n",
+ "\n",
+ "* `training_step`, which takes a batch and computes the loss; backprop goes through it\n",
+ "* `configure_optimizers`, which returns the `torch.optim.Optimizer` to apply after the `training_step`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "KL-Yuk-DVCKI"
+ },
+ "source": [
+ "> _Note_: `training_step` is part of a rich system of callbacks in PyTorch Lightning.\n",
+ "These callbacks are methods that get called\n",
+ "at specific points during training\n",
+ "(e.g. when a validation epoch ends),\n",
+ "and they are a major part of what makes\n",
+ "PyTorch Lightning both useful and extensible."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "S_xhIcNbVCKI"
+ },
+ "source": [
+ "Here's where we add some more serious logging code.\n",
+ "`self.log` takes a name and value for a metric.\n",
+ "Under the hood, this will get passed to `wandb.log` if you're using W&B.\n",
+ "\n",
+ "The logging behavior of PyTorch Lightning is both intelligent and configurable.\n",
+ "For example, by passing the `on_epoch`\n",
+ "keyword argument here,\n",
+ "we'll get `_epoch`-wise averages\n",
+ "of the metrics logged on each `_step`,\n",
+ "and those metrics will be named differently\n",
+ "in the W&B interface.\n",
+ "When training in a distributed setting,\n",
+ "these averages will be automatically computed across nodes.\n",
+ "\n",
+ "Read more about the `log` method [in the docs](https://pytorch-lightning.readthedocs.io/en/latest/lightning_module.html#log)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "IpbUYwBDVCKJ"
+ },
+ "outputs": [],
+ "source": [
+ "def training_step(self, batch, batch_idx):\n",
+ " xs, ys = batch\n",
+ " logits, loss = self.loss(xs, ys)\n",
+ " preds = torch.argmax(logits, 1)\n",
+ "\n",
+ " # logging metrics we calculated by hand\n",
+ " self.log('train/loss', loss, on_epoch=True)\n",
+ " # logging a pl.Metric\n",
+ " self.train_acc(preds, ys)\n",
+ " self.log('train/acc', self.train_acc, on_epoch=True)\n",
+ "\n",
+ " return loss\n",
+ "\n",
+ "def configure_optimizers(self):\n",
+ " return torch.optim.Adam(self.parameters(), lr=self.hparams[\"lr\"])\n",
+ "\n",
+ "LitMLP.training_step = training_step\n",
+ "LitMLP.configure_optimizers = configure_optimizers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "JXquZkggVCKJ"
+ },
+ "source": [
+ "## ➕ Optional methods for even better logging\n",
+ "\n",
+ "The code above will log our model's performance,\n",
+ "system metrics, and more to W&B.\n",
+ "\n",
+ "If we want to take our logging to the next level,\n",
+ "we need to make use of PyTorch Lightning's callback system.\n",
+ "\n",
+ "> _Note_: thanks to the clean design of PyTorch Lightning,\n",
+ "the training code below will run with or without any\n",
+ "of this extra logging code. Nice!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "TE8qYwtOVCKJ"
+ },
+ "source": [
+ "The other callbacks we'll make use of fall into two categories:\n",
+ "* methods that trigger on each batch for a dataset: `validation_step` and `test_step`\n",
+ "* methods that trigger at the end of an epoch,\n",
+ "or a full pass over a given dataset: `{training, validation, test}_epoch_end`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Z8JylsGXVCKJ"
+ },
+ "source": [
+ "### 💾 `test`ing and saving the model"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "AHy-SYLDVCKJ"
+ },
+ "source": [
+ "We use the test set to evaluate the performance of the final model,\n",
+ "so the `test` callbacks will be called at the end of the training pipeline.\n",
+ "\n",
+ "For performance on the `test` and `validation` sets,\n",
+ "we're typically less concerned about how\n",
+ "we do on intermediate steps and more\n",
+ "with how we did overall.\n",
+ "That's why below, we pass in\n",
+ "`on_step=False` and `on_epoch=True`\n",
+ "so that we log only `epoch`-wise metrics.\n",
+ "\n",
+ "> _Note_: That's actually the default behavior for `.log` when it's called inside of a `validation` or a `test` loop -- but not when it's called inside a `training` loop! Check out the table of default behaviors for `.log` [in the docs](https://pytorch-lightning.readthedocs.io/en/latest/lightning_module.html#log)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "yeVmedTTVCKJ"
+ },
+ "outputs": [],
+ "source": [
+ "def test_step(self, batch, batch_idx):\n",
+ " xs, ys = batch\n",
+ " logits, loss = self.loss(xs, ys)\n",
+ " preds = torch.argmax(logits, 1)\n",
+ "\n",
+ " self.test_acc(preds, ys)\n",
+ " self.log(\"test/loss_epoch\", loss, on_step=False, on_epoch=True)\n",
+ " self.log(\"test/acc_epoch\", self.test_acc, on_step=False, on_epoch=True)\n",
+ "\n",
+ "LitMLP.test_step = test_step"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "qk50ovviVCKJ"
+ },
+ "source": [
+ "We'll also take the opportunity to save the model in the\n",
+ "[portable `ONNX` format](https://onnx.ai/).\n",
+ "\n",
+ "\n",
+ "Later,\n",
+ "we'll see that this allows us to use the\n",
+ "[Netron model viewer](https://github.com/lutzroeder/netron) in W&B."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "QNr-9bEpVCKJ"
+ },
+ "outputs": [],
+ "source": [
+ "def on_test_epoch_end(self): # args are defined as part of pl API\n",
+ " dummy_input = torch.zeros(self.hparams[\"in_dims\"], device=self.device)\n",
+ " model_filename = \"model_final.onnx\"\n",
+ " self.to_onnx(model_filename, dummy_input, export_params=True)\n",
+ " artifact = wandb.Artifact(name=\"model.ckpt\", type=\"model\")\n",
+ " artifact.add_file(model_filename)\n",
+ " wandb.log_artifact(artifact)\n",
+ "\n",
+ "LitMLP.on_test_epoch_end = on_test_epoch_end"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "JosFHArGVCKK"
+ },
+ "source": [
+ "### 📊 Logging `Histograms`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "FxViSjO4VCKK"
+ },
+ "source": [
+ "For the `validation_data`,\n",
+ "let's track not only the `acc`uracy and `loss`,\n",
+ "but also the `logits`:\n",
+ "the un-normalized class probabilities.\n",
+ "That way, we can track if our network\n",
+ "is becoming more or less confident over time.\n",
+ "\n",
+ "There's a problem though:\n",
+ "`.log` wants to average,\n",
+ "but we'd rather look at a distribution.\n",
+ "\n",
+ "So instead, on every `validation_step`,\n",
+ "we'll `return` the `logits`,\n",
+ "rather than `log`ging them.\n",
+ "\n",
+ "Then, when we reach the `end`\n",
+ "of the `validation_epoch`,\n",
+ "the `logits` are available as the\n",
+ "`validation_step_outputs` -- a list.\n",
+ "\n",
+ "So to log we'll take those `logits`,\n",
+ "concatenate them together,\n",
+ "and turn them into a histogram with [`wandb.Histogram`](https://docs.wandb.com/library/log#histograms).\n",
+ "\n",
+ "Because we're no longer using Lightning's `.log` interface and are instead using `wandb`,\n",
+ "we need to drop down a level and use\n",
+ "`self.experiment.logger.log`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "VrPs4tAJVCKK"
+ },
+ "outputs": [],
+ "source": [
+ "def on_validation_epoch_start(self):\n",
+ " self.validation_step_outputs = []\n",
+ "\n",
+ "def validation_step(self, batch, batch_idx):\n",
+ " xs, ys = batch\n",
+ " logits, loss = self.loss(xs, ys)\n",
+ " preds = torch.argmax(logits, 1)\n",
+ " self.valid_acc(preds, ys)\n",
+ "\n",
+ " self.log(\"valid/loss_epoch\", loss) # default on val/test is on_epoch only\n",
+ " self.log('valid/acc_epoch', self.valid_acc)\n",
+ "\n",
+ " self.validation_step_outputs.append(logits)\n",
+ "\n",
+ " return logits\n",
+ "\n",
+ "def on_validation_epoch_end(self):\n",
+ "\n",
+ " validation_step_outputs = self.validation_step_outputs\n",
+ "\n",
+ " dummy_input = torch.zeros(self.hparams[\"in_dims\"], device=self.device)\n",
+ " model_filename = f\"model_{str(self.global_step).zfill(5)}.onnx\"\n",
+ " torch.onnx.export(self, dummy_input, model_filename, opset_version=11)\n",
+ " artifact = wandb.Artifact(name=\"model.ckpt\", type=\"model\")\n",
+ " artifact.add_file(model_filename)\n",
+ " self.logger.experiment.log_artifact(artifact)\n",
+ "\n",
+ " flattened_logits = torch.flatten(torch.cat(validation_step_outputs))\n",
+ " self.logger.experiment.log(\n",
+ " {\"valid/logits\": wandb.Histogram(flattened_logits.to(\"cpu\")),\n",
+ " \"global_step\": self.global_step})\n",
+ "\n",
+ "LitMLP.on_validation_epoch_start = on_validation_epoch_start\n",
+ "LitMLP.validation_step = validation_step\n",
+ "LitMLP.on_validation_epoch_end = on_validation_epoch_end"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "617Vro8jVCKK"
+ },
+ "source": [
+ "Note that we're once again saving\n",
+ "the model in ONNX format.\n",
+ "That way, we can roll back our model to any given epoch --\n",
+ "useful in case the evaluation on the test set reveals we've overfit."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "yMe2e8FEVCKK"
+ },
+ "source": [
+ "### 📲 `Callback`s for extra-fancy logging"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "X-DfYBQrVCKL"
+ },
+ "source": [
+ "What we've done so far\n",
+ "will tell us how well our model\n",
+ "is using our system resources,\n",
+ "how well our model is training and generalizing,\n",
+ "and how confident it is.\n",
+ "\n",
+ "But DNNs often fail in pernicious and silent ways.\n",
+ "Often, the only way to notice these failures\n",
+ "is to look at how the model is doing\n",
+ "on specific examples.\n",
+ "\n",
+ "So let's additionally log some detailed information on some specific examples:\n",
+ "the inputs, outputs,\n",
+ "and `pred`ictions.\n",
+ "\n",
+ "We'll do this by writing our own `Callback` --\n",
+ "one that, after every `validation_epoch` ends,\n",
+ "logs input images and output predictions\n",
+ "using W&B's `Image` logger.\n",
+ "\n",
+ "> _Note_:\n",
+ "For more on the W&B media toolkit, read the [docs](https://docs.wandb.com/library/log#media)\n",
+ "or check out\n",
+ "[this Colab](http://wandb.me/media-colab)\n",
+ "to see everything it's capable of."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "VM9hxnNtVCKL"
+ },
+ "outputs": [],
+ "source": [
+ "class ImagePredictionLogger(pl.Callback):\n",
+ " def __init__(self, val_samples, num_samples=32):\n",
+ " super().__init__()\n",
+ " self.val_imgs, self.val_labels = val_samples\n",
+ " self.val_imgs = self.val_imgs[:num_samples]\n",
+ " self.val_labels = self.val_labels[:num_samples]\n",
+ "\n",
+ " def on_validation_epoch_end(self, trainer, pl_module):\n",
+ " val_imgs = self.val_imgs.to(device=pl_module.device)\n",
+ "\n",
+ " logits = pl_module(val_imgs)\n",
+ " preds = torch.argmax(logits, 1)\n",
+ "\n",
+ " trainer.logger.experiment.log({\n",
+ " \"examples\": [wandb.Image(x, caption=f\"Pred:{pred}, Label:{y}\")\n",
+ " for x, pred, y in zip(val_imgs, preds, self.val_labels)],\n",
+ " \"global_step\": trainer.global_step\n",
+ " })"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "6z2bcdwZVCKL"
+ },
+ "source": [
+ "# 🛒 Loading data\n",
+ "\n",
+ "Data pipelines can be created with:\n",
+ "* 🍦 Vanilla Pytorch `DataLoaders`\n",
+ "* ⚡ Pytorch Lightning `DataModules`\n",
+ "\n",
+ "`DataModules` are more structured definition, which allows for additional optimizations such as automated distribution of workload between CPU & GPU.\n",
+ "Using `DataModules` is recommended whenever possible!\n",
+ "\n",
+ "A `DataModule` is also defined by an interface:\n",
+ "* `prepare_data` (optional) which is called only once and on 1 GPU -- typically something like the data download step we have below\n",
+ "* `setup`, which is called on each GPU separately and accepts `stage` to define if we are at `fit` or `test` step\n",
+ "* `train_dataloader`, `val_dataloader` and `test_dataloader` to load each dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "pO5M1XEnVCKL"
+ },
+ "outputs": [],
+ "source": [
+ "class MNISTDataModule(pl.LightningDataModule):\n",
+ "\n",
+ " def __init__(self, data_dir='./', batch_size=128):\n",
+ " super().__init__()\n",
+ " self.data_dir = data_dir\n",
+ " self.batch_size = batch_size\n",
+ " self.transform = transforms.Compose([\n",
+ " transforms.ToTensor(),\n",
+ " transforms.Normalize((0.1307,), (0.3081,))])\n",
+ "\n",
+ " def prepare_data(self):\n",
+ " # download data, train then test\n",
+ " MNIST(self.data_dir, train=True, download=True)\n",
+ " MNIST(self.data_dir, train=False, download=True)\n",
+ "\n",
+ " def setup(self, stage=None):\n",
+ "\n",
+ " # we set up only relevant datasets when stage is specified\n",
+ " if stage == 'fit' or stage is None:\n",
+ " mnist = MNIST(self.data_dir, train=True, transform=self.transform)\n",
+ " self.mnist_train, self.mnist_val = random_split(mnist, [55000, 5000])\n",
+ " if stage == 'test' or stage is None:\n",
+ " self.mnist_test = MNIST(self.data_dir, train=False, transform=self.transform)\n",
+ "\n",
+ " # we define a separate DataLoader for each of train/val/test\n",
+ " def train_dataloader(self):\n",
+ " mnist_train = DataLoader(self.mnist_train, batch_size=self.batch_size)\n",
+ " return mnist_train\n",
+ "\n",
+ " def val_dataloader(self):\n",
+ " mnist_val = DataLoader(self.mnist_val, batch_size=10 * self.batch_size)\n",
+ " return mnist_val\n",
+ "\n",
+ " def test_dataloader(self):\n",
+ " mnist_test = DataLoader(self.mnist_test, batch_size=10 * self.batch_size)\n",
+ " return mnist_test\n",
+ "\n",
+ "# setup data\n",
+ "mnist = MNISTDataModule()\n",
+ "mnist.prepare_data()\n",
+ "mnist.setup()\n",
+ "\n",
+ "# grab samples to log predictions on\n",
+ "samples = next(iter(mnist.val_dataloader()))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "6Ord5Pu3VCKM"
+ },
+ "source": [
+ "# 👟 Making a `Trainer`\n",
+ "\n",
+ "The `DataLoader` and the `LightningModule`\n",
+ "are brought together by a `Trainer`,\n",
+ "which orchestrates data loading,\n",
+ "gradient calculation,\n",
+ "optimizer logic,\n",
+ "and logging.\n",
+ "\n",
+ "Luckily, we don't need to sub-class the `Trainer`,\n",
+ "we just need to configure it with keyword arguments."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "MDDjVOSEVCKM"
+ },
+ "source": [
+ "And that is where we'll use the `pytorch_lightning.loggers.WandbLogger` to connect our logging to W&B."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "3nibeocmVCKM"
+ },
+ "outputs": [],
+ "source": [
+ "wandb_logger = WandbLogger(project=\"lit-wandb\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "YDEryNsoVCKM"
+ },
+ "source": [
+ "> _Note_: Check out [the documentation](https://docs.wandb.com/library/integrations/lightning) for customization options. I like `group`s and `tag`s!.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "NLfJc41aVCKM"
+ },
+ "source": [
+ "We can then set up our `Trainer` and customize several options, such as gradient accumulation, half precision training and distributed computing.\n",
+ "\n",
+ "We'll stick to the basics for this example,\n",
+ "but half-precision training and easy scaling to distributed settings are two of the major reasons why folks like PyTorch Lightning!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "0dciVNKHVCKN"
+ },
+ "outputs": [],
+ "source": [
+ "trainer = pl.Trainer(\n",
+ " logger=wandb_logger, # W&B integration\n",
+ " log_every_n_steps=50, # set the logging frequency\n",
+ " max_epochs=5, # number of epochs\n",
+ " deterministic=True, # keep it deterministic\n",
+ " callbacks=[ImagePredictionLogger(samples)] # see Callbacks section\n",
+ " )"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Fs6hyyU2VCKN"
+ },
+ "source": [
+ "# 🏃♀️ Running our Model"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "LzVnPc6_VCKN"
+ },
+ "source": [
+ "Now, let's make it all happen:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "q7VxL_o6VCKN"
+ },
+ "outputs": [],
+ "source": [
+ "# setup model\n",
+ "model = LitMLP(in_dims=(1, 28, 28))\n",
+ "\n",
+ "# fit the model\n",
+ "trainer.fit(model, mnist)\n",
+ "\n",
+ "# evaluate the model on a test set\n",
+ "trainer.test(datamodule=mnist,\n",
+ " ckpt_path=None) # uses last-saved model\n",
+ "\n",
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "cryJvmKOVCKN"
+ },
+ "source": [
+ "> _Note_: In notebooks, we need to call `wandb.finish()` to indicate when we've finished our run. This isn't necessary in scripts."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "t9jsRs-oVCKN"
+ },
+ "source": [
+ "## Viewing the results on wandb.ai\n",
+ "\n",
+ "Among the outputs from W&B,\n",
+ "you will have noticed a few URLs.\n",
+ "One of these is the\n",
+ "[run page](https://docs.wandb.ai/ref/app/pages/run-page),\n",
+ "which has a dashboard with all of the information logged in this run, complete with smart default charts\n",
+ "and more.\n",
+ "The run page is printed both at the start and end of training, and ends with `lit-wandb/runs/{run_id}`.\n",
+ "\n",
+ ">_Note_: When visiting your run page, it is recommended to use `global_step` as x-axis to correctly superimpose metrics logged in different stages.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "fgPkQGamVCKN"
+ },
+ "source": [
+ "\n",
+ "![image.png](data:image/png;base64,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)"
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/colabs/pytorch-lightning/Transfer_Learning_Using_PyTorch_Lightning.ipynb b/colabs/pytorch-lightning/Transfer_Learning_Using_PyTorch_Lightning.ipynb
index 3a4a744b..776bc3b1 100644
--- a/colabs/pytorch-lightning/Transfer_Learning_Using_PyTorch_Lightning.ipynb
+++ b/colabs/pytorch-lightning/Transfer_Learning_Using_PyTorch_Lightning.ipynb
@@ -38,7 +38,7 @@
"metadata": {},
"outputs": [],
"source": [
- "!pip install wandb pytorch-lightning -qqq"
+ "!pip install wandb lightning torchvision -qqq"
]
},
{
@@ -56,9 +56,9 @@
"source": [
"import os\n",
"\n",
- "import pytorch_lightning as pl\n",
+ "import lightning.pytorch as pl\n",
"# your favorite machine learning tracking tool\n",
- "from pytorch_lightning.loggers import WandbLogger\n",
+ "from lightning.pytorch.loggers import WandbLogger\n",
"\n",
"import torch\n",
"from torch import nn\n",
diff --git a/colabs/pytorch-lightning/Wandb_End_to_End_with_PyTorch_Lightning.ipynb b/colabs/pytorch-lightning/Wandb_End_to_End_with_PyTorch_Lightning.ipynb
index fdd961eb..32a5df77 100644
--- a/colabs/pytorch-lightning/Wandb_End_to_End_with_PyTorch_Lightning.ipynb
+++ b/colabs/pytorch-lightning/Wandb_End_to_End_with_PyTorch_Lightning.ipynb
@@ -1,673 +1,737 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- ""
- ]
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Ws0nlkuGOpDy"
+ },
+ "source": [
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "aU1q92uCOpD1"
+ },
+ "source": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# W&B Tutorial with Pytorch Lightning"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "mHCKzEzSOpD1"
+ },
+ "source": [
+ "## 🛠️ Install `wandb` and `pytorch-lightning`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "RnyGWvwDOpD1"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install -q lightning wandb torchvision"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "G5wpAEAoOpD2"
+ },
+ "source": [
+ "## Login to W&B either through Python or CLI\n",
+ "If you are using the public W&B cloud, you don't need to specify the `WANDB_HOST`.\n",
+ "\n",
+ "You can set environment variables `WANDB_API_KEY` and `WANDB_HOST` and pass them in as:\n",
+ "```\n",
+ "import os\n",
+ "import wandb\n",
+ "\n",
+ "wandb.login(host=os.getenv(\"WANDB_HOST\"), key=os.getenv(\"WANDB_API_KEY\"))\n",
+ "```\n",
+ "You can also login via the CLI with:\n",
+ "```\n",
+ "wandb login --host \n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "YjXGiBLQOpD2"
+ },
+ "outputs": [],
+ "source": [
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "r5HflvclOpD2"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "zNuxn8BjOpD2"
+ },
+ "source": [
+ "## ⚱ Logging the Raw Training Data as an Artifact"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "X9mkr942OpD2"
+ },
+ "outputs": [],
+ "source": [
+ "#@title Enter your W&B project and entity\n",
+ "\n",
+ "# FORM VARIABLES\n",
+ "PROJECT_NAME = \"pytorch-lightning-e2e\" #@param {type:\"string\"}\n",
+ "ENTITY = \"wandb\"#@param {type:\"string\"}\n",
+ "\n",
+ "# set SIZE to \"TINY\", \"SMALL\", \"MEDIUM\", or \"LARGE\"\n",
+ "# to select one of these three datasets\n",
+ "# TINY dataset: 100 images, 30MB\n",
+ "# SMALL dataset: 1000 images, 312MB\n",
+ "# MEDIUM dataset: 5000 images, 1.5GB\n",
+ "# LARGE dataset: 12,000 images, 3.6GB\n",
+ "\n",
+ "SIZE = \"TINY\"\n",
+ "\n",
+ "if SIZE == \"TINY\":\n",
+ " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_100.zip\"\n",
+ " src_zip = \"nature_100.zip\"\n",
+ " DATA_SRC = \"nature_100\"\n",
+ " IMAGES_PER_LABEL = 10\n",
+ " BALANCED_SPLITS = {\"train\" : 8, \"val\" : 1, \"test\": 1}\n",
+ "elif SIZE == \"SMALL\":\n",
+ " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_1K.zip\"\n",
+ " src_zip = \"nature_1K.zip\"\n",
+ " DATA_SRC = \"nature_1K\"\n",
+ " IMAGES_PER_LABEL = 100\n",
+ " BALANCED_SPLITS = {\"train\" : 80, \"val\" : 10, \"test\": 10}\n",
+ "elif SIZE == \"MEDIUM\":\n",
+ " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_12K.zip\"\n",
+ " src_zip = \"nature_12K.zip\"\n",
+ " DATA_SRC = \"inaturalist_12K/train\" # (technically a subset of only 10K images)\n",
+ " IMAGES_PER_LABEL = 500\n",
+ " BALANCED_SPLITS = {\"train\" : 400, \"val\" : 50, \"test\": 50}\n",
+ "elif SIZE == \"LARGE\":\n",
+ " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_12K.zip\"\n",
+ " src_zip = \"nature_12K.zip\"\n",
+ " DATA_SRC = \"inaturalist_12K/train\" # (technically a subset of only 10K images)\n",
+ " IMAGES_PER_LABEL = 1000\n",
+ " BALANCED_SPLITS = {\"train\" : 800, \"val\" : 100, \"test\": 100}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "o8nApIhdOpD3"
+ },
+ "outputs": [],
+ "source": [
+ "%%capture\n",
+ "!curl -SL $src_url > $src_zip\n",
+ "!unzip $src_zip"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")"
+ ],
+ "metadata": {
+ "id": "ALmdQ7wISLaA"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "XQ_Kwsg9OpD3"
+ },
+ "outputs": [],
+ "source": [
+ "import wandb\n",
+ "import pandas as pd\n",
+ "import os\n",
+ "\n",
+ "with wandb.init(project=PROJECT_NAME, entity=ENTITY, job_type='log_datasets') as run:\n",
+ " img_paths = []\n",
+ " for root, dirs, files in os.walk('nature_100', topdown=False):\n",
+ " for name in files:\n",
+ " img_path = os.path.join(root, name)\n",
+ " label = img_path.split('/')[1]\n",
+ " img_paths.append([img_path, label])\n",
+ "\n",
+ " index_df = pd.DataFrame(columns=['image_path', 'label'], data=img_paths)\n",
+ " index_df.to_csv('index.csv', index=False)\n",
+ "\n",
+ " train_art = wandb.Artifact(name='Nature_100', type='raw_images', description='nature image dataset with 10 classes, 10 images per class')\n",
+ " train_art.add_dir('nature_100')\n",
+ "\n",
+ " # Also adding a csv indicating the labels of each image\n",
+ " train_art.add_file('index.csv')\n",
+ " wandb.log_artifact(train_art)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "1eJpOk_VOpD3"
+ },
+ "source": [
+ "## Using Artifacts in Pytorch Lightning `DataModule`'s and Pytorch `Dataset`'s\n",
+ "- Makes it easy to interopt your DataLoaders with new versions of datasets\n",
+ "- Just indicate the `name:alias` as an argument to your `Dataset` or `DataModule`\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Z2g9JRrwOpD3"
+ },
+ "outputs": [],
+ "source": [
+ "from torchvision import transforms\n",
+ "import lightning.pytorch as pl\n",
+ "import torch\n",
+ "from torch.utils.data import Dataset, DataLoader, random_split\n",
+ "from skimage import io, transform\n",
+ "from torchvision import transforms, utils, models\n",
+ "import math\n",
+ "\n",
+ "class NatureDataset(Dataset):\n",
+ " def __init__(self,\n",
+ " wandb_run,\n",
+ " artifact_name_alias=\"Nature_100:latest\",\n",
+ " local_target_dir=\"Nature_100:latest\",\n",
+ " transform=None):\n",
+ " self.local_target_dir = local_target_dir\n",
+ " self.transform = transform\n",
+ "\n",
+ " # Pull down the artifact locally to load it into memory\n",
+ " art = wandb_run.use_artifact(artifact_name_alias)\n",
+ " path_at = art.download(root=self.local_target_dir)\n",
+ "\n",
+ " self.ref_df = pd.read_csv(os.path.join(self.local_target_dir, 'index.csv'))\n",
+ " self.class_names = self.ref_df.iloc[:, 1].unique().tolist()\n",
+ " self.idx_to_class = {k: v for k, v in enumerate(self.class_names)}\n",
+ " self.class_to_idx = {v: k for k, v in enumerate(self.class_names)}\n",
+ "\n",
+ " def __len__(self):\n",
+ " return len(self.ref_df)\n",
+ "\n",
+ " def __getitem__(self, idx):\n",
+ " if torch.is_tensor(idx):\n",
+ " idx = idx.tolist()\n",
+ "\n",
+ " img_path = self.ref_df.iloc[idx, 0]\n",
+ "\n",
+ " image = io.imread(img_path)\n",
+ " label = self.ref_df.iloc[idx, 1]\n",
+ " label = torch.tensor(self.class_to_idx[label], dtype=torch.long)\n",
+ "\n",
+ " if self.transform:\n",
+ " image = self.transform(image)\n",
+ "\n",
+ " return image, label\n",
+ "\n",
+ "\n",
+ "class NatureDatasetModule(pl.LightningDataModule):\n",
+ " def __init__(self,\n",
+ " wandb_run,\n",
+ " artifact_name_alias: str = \"Nature_100:latest\",\n",
+ " local_target_dir: str = \"Nature_100:latest\",\n",
+ " batch_size: int = 16,\n",
+ " input_size: int = 224,\n",
+ " seed: int = 42):\n",
+ " super().__init__()\n",
+ " self.wandb_run = wandb_run\n",
+ " self.artifact_name_alias = artifact_name_alias\n",
+ " self.local_target_dir = local_target_dir\n",
+ " self.batch_size = batch_size\n",
+ " self.input_size = input_size\n",
+ " self.seed = seed\n",
+ "\n",
+ " def setup(self, stage=None):\n",
+ " self.nature_dataset = NatureDataset(wandb_run=self.wandb_run,\n",
+ " artifact_name_alias=self.artifact_name_alias,\n",
+ " local_target_dir=self.local_target_dir,\n",
+ " transform=transforms.Compose([transforms.ToTensor(),\n",
+ " transforms.CenterCrop(self.input_size),\n",
+ " transforms.Normalize((0.485, 0.456, 0.406),\n",
+ " (0.229, 0.224, 0.225))]))\n",
+ "\n",
+ " nature_length = len(self.nature_dataset)\n",
+ " train_size = math.floor(0.8 * nature_length)\n",
+ " val_size = math.floor(0.2 * nature_length)\n",
+ " self.nature_train, self.nature_val = random_split(self.nature_dataset,\n",
+ " [train_size, val_size],\n",
+ " generator=torch.Generator().manual_seed(self.seed))\n",
+ " return self\n",
+ "\n",
+ " def train_dataloader(self):\n",
+ " return DataLoader(self.nature_train, batch_size=self.batch_size)\n",
+ "\n",
+ " def val_dataloader(self):\n",
+ " return DataLoader(self.nature_val, batch_size=self.batch_size)\n",
+ "\n",
+ " def predict_dataloader(self):\n",
+ " pass\n",
+ "\n",
+ " def teardown(self, stage: str):\n",
+ " pass"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "NLhjdvF-OpD3"
+ },
+ "source": [
+ "##How Logging in your Pytorch `LightningModule`works:\n",
+ "When you train the model using `Trainer`, ensure you have a `WandbLogger` instantiated and passed in as a `logger`.\n",
+ "\n",
+ "```\n",
+ "wandb_logger = WandbLogger(project=\"my_project\", entity=\"machine-learning\")\n",
+ "trainer = Trainer(logger=wandb_logger)\n",
+ "```\n",
+ "\n",
+ "\n",
+ "You can always use `wandb.log` as normal throughout the module. When the `WandbLogger` is used, `self.log` will also log metrics to W&B.\n",
+ "- To access the current run from within the `LightningModule`, you can access `Trainer.logger.experiment`, which is a `wandb.Run` object"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Oi1NpQs7OpD4"
+ },
+ "source": [
+ "### Some helper functions"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "HLgYji2oOpD4"
+ },
+ "outputs": [],
+ "source": [
+ "# Some helper functions\n",
+ "\n",
+ "def set_parameter_requires_grad(model, feature_extracting):\n",
+ " if feature_extracting:\n",
+ " for param in model.parameters():\n",
+ " param.requires_grad = False\n",
+ "\n",
+ "def initialize_model(model_name, num_classes, feature_extract, use_pretrained=True):\n",
+ " # Initialize these variables which will be set in this if statement. Each of these\n",
+ " # variables is model specific.\n",
+ " model_ft = None\n",
+ " input_size = 0\n",
+ "\n",
+ " if model_name == \"resnet\":\n",
+ " \"\"\" Resnet18\n",
+ " \"\"\"\n",
+ " model_ft = models.resnet18(pretrained=use_pretrained)\n",
+ " set_parameter_requires_grad(model_ft, feature_extract)\n",
+ " num_ftrs = model_ft.fc.in_features\n",
+ " model_ft.fc = torch.nn.Linear(num_ftrs, num_classes)\n",
+ " input_size = 224\n",
+ "\n",
+ " elif model_name == \"squeezenet\":\n",
+ " \"\"\" Squeezenet\n",
+ " \"\"\"\n",
+ " model_ft = models.squeezenet1_0(pretrained=use_pretrained)\n",
+ " set_parameter_requires_grad(model_ft, feature_extract)\n",
+ " model_ft.classifier[1] = torch.nn.Conv2d(512, num_classes, kernel_size=(1, 1), stride=(1, 1))\n",
+ " model_ft.num_classes = num_classes\n",
+ " input_size = 224\n",
+ "\n",
+ " elif model_name == \"densenet\":\n",
+ " \"\"\" Densenet\n",
+ " \"\"\"\n",
+ " model_ft = models.densenet121(pretrained=use_pretrained)\n",
+ " set_parameter_requires_grad(model_ft, feature_extract)\n",
+ " num_ftrs = model_ft.classifier.in_features\n",
+ " model_ft.classifier = torch.nn.Linear(num_ftrs, num_classes)\n",
+ " input_size = 224\n",
+ "\n",
+ " else:\n",
+ " print(\"Invalid model name, exiting...\")\n",
+ " exit()\n",
+ "\n",
+ " return model_ft, input_size"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "LLRK0S6oOpD4"
+ },
+ "source": [
+ "### Writing the `LightningModule`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "k0tTtK5zOpD4"
+ },
+ "outputs": [],
+ "source": [
+ "import torch\n",
+ "from torch.nn import Linear, CrossEntropyLoss, functional as F\n",
+ "from torch.optim import Adam\n",
+ "from torchmetrics.functional import accuracy\n",
+ "from lightning.pytorch import LightningModule\n",
+ "from torchvision import models\n",
+ "\n",
+ "class NatureLitModule(LightningModule):\n",
+ " def __init__(self,\n",
+ " model_name,\n",
+ " num_classes=10,\n",
+ " feature_extract=True,\n",
+ " lr=0.01):\n",
+ " '''method used to define our model parameters'''\n",
+ " super().__init__()\n",
+ "\n",
+ " self.model_name = model_name\n",
+ " self.num_classes = num_classes\n",
+ " self.feature_extract = feature_extract\n",
+ " self.model, self.input_size = initialize_model(model_name=self.model_name,\n",
+ " num_classes=self.num_classes,\n",
+ " feature_extract=True)\n",
+ "\n",
+ " # loss\n",
+ " self.loss = CrossEntropyLoss()\n",
+ "\n",
+ " # optimizer parameters\n",
+ " self.lr = lr\n",
+ "\n",
+ " # save hyper-parameters to self.hparams (auto-logged by W&B)\n",
+ " self.save_hyperparameters()\n",
+ "\n",
+ " # Record the gradients of all the layers\n",
+ " wandb.watch(self.model)\n",
+ "\n",
+ " def forward(self, x):\n",
+ " '''method used for inference input -> output'''\n",
+ " x = self.model(x)\n",
+ "\n",
+ " return x\n",
+ "\n",
+ " def training_step(self, batch, batch_idx):\n",
+ " '''needs to return a loss from a single batch'''\n",
+ " preds, y, loss, acc = self._get_preds_loss_accuracy(batch)\n",
+ "\n",
+ " # Log loss and metric\n",
+ " self.log('train/loss', loss)\n",
+ " self.log('train/accuracy', acc)\n",
+ "\n",
+ " return loss\n",
+ "\n",
+ " def validation_step(self, batch, batch_idx):\n",
+ " '''used for logging metrics'''\n",
+ " preds, y, loss, acc = self._get_preds_loss_accuracy(batch)\n",
+ "\n",
+ " # Log loss and metric\n",
+ " self.log('validation/loss', loss)\n",
+ " self.log('validation/accuracy', acc)\n",
+ "\n",
+ " # Let's return preds to use it in a custom callback\n",
+ " return preds, y\n",
+ "\n",
+ " def test_step(self, batch, batch_idx):\n",
+ " '''used for logging metrics'''\n",
+ " preds, y, loss, acc = self._get_preds_loss_accuracy(batch)\n",
+ "\n",
+ " # Log loss and metric\n",
+ " self.log('test/loss', loss)\n",
+ " self.log('test/accuracy', acc)\n",
+ "\n",
+ " def configure_optimizers(self):\n",
+ " '''defines model optimizer'''\n",
+ " return Adam(self.parameters(), lr=self.lr)\n",
+ "\n",
+ "\n",
+ " def _get_preds_loss_accuracy(self, batch):\n",
+ " '''convenience function since train/valid/test steps are similar'''\n",
+ " x, y = batch\n",
+ " logits = self(x)\n",
+ " preds = torch.argmax(logits, dim=1)\n",
+ " loss = self.loss(logits, y)\n",
+ " acc = accuracy(preds, y, task=\"multiclass\", num_classes=10)\n",
+ " return preds, y, loss, acc"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "bvZHZuZzOpD4"
+ },
+ "source": [
+ "### Instrument Callbacks to log additional things at certain points in your code"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "j9pHqaw1OpD5"
+ },
+ "outputs": [],
+ "source": [
+ "from lightning.pytorch.callbacks import Callback\n",
+ "\n",
+ "class LogPredictionsCallback(Callback):\n",
+ "\n",
+ " def __init__(self):\n",
+ " super().__init__()\n",
+ "\n",
+ "\n",
+ " def on_validation_epoch_start(self, trainer, pl_module):\n",
+ " self.batch_dfs = []\n",
+ " self.image_list = []\n",
+ " self.val_table = wandb.Table(columns=['image', 'ground_truth', 'prediction'])\n",
+ "\n",
+ "\n",
+ " def on_validation_batch_end(\n",
+ " self, trainer, pl_module, outputs, batch, batch_idx):\n",
+ " \"\"\"Called when the validation batch ends.\"\"\"\n",
+ "\n",
+ " # Append validation predictions and ground truth to log in confusion matrix\n",
+ " x, y = batch\n",
+ " preds, y = outputs\n",
+ " self.batch_dfs.append(pd.DataFrame({\"Ground Truth\": y.cpu().numpy(), \"Predictions\": preds.cpu().numpy()}))\n",
+ "\n",
+ " # Add wandb.Image to a table to log at the end of validation\n",
+ " x = x.cpu().numpy().transpose(0, 2, 3, 1)\n",
+ " for x_i, y_i, y_pred in list(zip(x, y, preds)):\n",
+ " self.image_list.append(wandb.Image(x_i, caption=f'Ground Truth: {y_i} - Prediction: {y_pred}'))\n",
+ " self.val_table.add_data(wandb.Image(x_i), y_i, y_pred)\n",
+ "\n",
+ "\n",
+ " def on_validation_epoch_end(self, trainer, pl_module):\n",
+ " # Collect statistics for whole validation set and log\n",
+ " class_names = trainer.datamodule.nature_dataset.class_names\n",
+ " val_df = pd.concat(self.batch_dfs)\n",
+ " wandb.log({\"validation_table\": self.val_table,\n",
+ " \"images_over_time\": self.image_list,\n",
+ " \"validation_conf_matrix\": wandb.plot.confusion_matrix(y_true = val_df[\"Ground Truth\"].tolist(),\n",
+ " preds=val_df[\"Predictions\"].tolist(),\n",
+ " class_names=class_names)}, step=trainer.global_step)\n",
+ "\n",
+ " del self.batch_dfs\n",
+ " del self.val_table\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "jAiH-kb1OpD5"
+ },
+ "source": [
+ "## 🏋️ Main Training Loop"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "FrYTQ7uaOpD5"
+ },
+ "outputs": [],
+ "source": [
+ "from lightning.pytorch.callbacks import ModelCheckpoint\n",
+ "from lightning.pytorch.loggers import WandbLogger\n",
+ "from lightning.pytorch import Trainer\n",
+ "\n",
+ "wandb.init(project=PROJECT_NAME,\n",
+ " entity=ENTITY,\n",
+ " job_type='training',\n",
+ " config={\n",
+ " \"model_name\": \"squeezenet\",\n",
+ " \"batch_size\": 16\n",
+ " })\n",
+ "\n",
+ "wandb_logger = WandbLogger(log_model='all', checkpoint_name=f'nature-{wandb.run.id}')\n",
+ "\n",
+ "log_predictions_callback = LogPredictionsCallback()\n",
+ "checkpoint_callback = ModelCheckpoint(every_n_epochs=1)\n",
+ "\n",
+ "model = NatureLitModule(model_name=wandb.config['model_name']) # Access hyperparameters downstream to instantiate models/datasets\n",
+ "\n",
+ "nature_module = NatureDatasetModule(wandb_run = wandb_logger.experiment,\n",
+ " artifact_name_alias = \"Nature_100:latest\",\n",
+ " local_target_dir = \"Nature_100:latest\",\n",
+ " batch_size=wandb.config['batch_size'],\n",
+ " input_size=model.input_size)\n",
+ "nature_module.setup()\n",
+ "\n",
+ "trainer = Trainer(logger=wandb_logger, # W&B integration\n",
+ " callbacks=[log_predictions_callback, checkpoint_callback],\n",
+ " max_epochs=5,\n",
+ " log_every_n_steps=5)\n",
+ "trainer.fit(model, datamodule=nature_module)\n",
+ "\n",
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "uEII8J7UOpD5"
+ },
+ "source": [
+ "### Syncing with W&B Offline\n",
+ "If for some reason, network communication is lost during the course of training, you can always sync progress with `wandb sync`\n",
+ "\n",
+ "The W&B sdk caches all logged data in a local directory `wandb` and when you call `wandb sync`, this syncs the your local state with the web app."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "xi-EhHsxOpD5"
+ },
+ "source": [
+ "## Retrieve a model checkpoint artifact and resume training\n",
+ "- Artifacts make it easy to track state of your training remotely and then resume training from a checkpoint"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "jiE1Bk7fOpD5"
+ },
+ "outputs": [],
+ "source": [
+ "#@title Enter which checkpoint you want to resume training from:\n",
+ "\n",
+ "# FORM VARIABLES\n",
+ "ARTIFACT_NAME_ALIAS = \"nature-oyxk79m1:v4\" #@param {type:\"string\"}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "jZZXWRatOpD5"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.init(project=PROJECT_NAME,\n",
+ " entity=ENTITY,\n",
+ " job_type='resume_training')\n",
+ "\n",
+ "# Retrieve model checkpoint artifact and restore previous hyperparameters\n",
+ "model_chkpt_art = wandb.use_artifact(f'{ENTITY}/{PROJECT_NAME}/{ARTIFACT_NAME_ALIAS}')\n",
+ "model_chkpt_art.download() # Can change download directory by adding `root`, defaults to \"./artifacts\"\n",
+ "logging_run = model_chkpt_art.logged_by()\n",
+ "wandb.config = logging_run.config\n",
+ "\n",
+ "# Can create a new artifact name or continue logging to the old one\n",
+ "artifact_name = ARTIFACT_NAME_ALIAS.split(\":\")[0]\n",
+ "wandb_logger = WandbLogger(log_model='all', checkpoint_name=artifact_name)\n",
+ "\n",
+ "log_predictions_callback = LogPredictionsCallback()\n",
+ "checkpoint_callback = ModelCheckpoint(every_n_epochs=1)\n",
+ "\n",
+ "model = NatureLitModule.load_from_checkpoint(f'./artifacts/{ARTIFACT_NAME_ALIAS}/model.ckpt')\n",
+ "\n",
+ "nature_module = NatureDatasetModule(wandb_run = wandb_logger.experiment,\n",
+ " artifact_name_alias = \"Nature_100:latest\",\n",
+ " local_target_dir = \"Nature_100:latest\",\n",
+ " batch_size=wandb.config['batch_size'],\n",
+ " input_size=model.input_size)\n",
+ "nature_module.setup()\n",
+ "\n",
+ "\n",
+ "\n",
+ "trainer = Trainer(logger=wandb_logger, # W&B integration\n",
+ " callbacks=[log_predictions_callback, checkpoint_callback],\n",
+ " max_epochs=10,\n",
+ " log_every_n_steps=5)\n",
+ "trainer.fit(model, datamodule=nature_module)\n",
+ "\n",
+ "wandb.finish()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "KTforR6EOpD5"
+ },
+ "source": [
+ "## Model Registry\n",
+ "After logging a bunch of checkpoints across multiple runs during experimentation, now comes time to hand-off the best checkpoint to the next stage of the workflow (e.g. testing, deployment).\n",
+ "\n",
+ "The model registry offers a centralized place to house the best checkpoints for all your model tasks. Any `model` artifact you log can be \"linked\" to a Registered Model. Here are the steps to start using the model registry for more organized model management:\n",
+ "1. Access your team's model registry by going the team page and selecting `Model Registry`\n",
+ "![model registry](https://drive.google.com/uc?export=view&id=1ZtJwBsFWPTm4Sg5w8vHhRpvDSeQPwsKw)\n",
+ "\n",
+ "2. Create a new Registered Model.\n",
+ "![model registry](https://drive.google.com/uc?export=view&id=1RuayTZHNE0LJCxt1t0l6-2zjwiV4aDXe)\n",
+ "\n",
+ "3. Go to the artifacts tab of the project that holds all your model checkpoints\n",
+ "![model registry](https://drive.google.com/uc?export=view&id=1r_jlhhtcU3as8VwQ-4oAntd8YtTwElFB)\n",
+ "\n",
+ "4. Click \"Link to Registry\" for the model artifact version you want. (Alternatively you can [link a model via api](https://docs.wandb.ai/guides/models) with `wandb.run.link_artifact`)\n",
+ "\n",
+ "**A note on linking:** The process of linking a model checkpoint is akin to \"bookmarking\" it. Each time you link a new model artifact to a Registered Model, this increments the version of the Registered Model. This helps delineate the model development side of the workflow from the model deployment/consumption side. The globally understood version/alias of a model should be unpolluted from all the experimental versions being generated in R&D and thus the versioning of a Registered Model increments according to new \"bookmarked\" models as opposed to model checkpoint logging.\n",
+ "\n",
+ "\n",
+ "### Create a Centralized Hub for all your models\n",
+ "- Add a model card, tags, slack notifactions to your Registered Model\n",
+ "- Change aliases to reflect when models move through different phases\n",
+ "- Embed the model registry in reports for model documentation and regression reports. See this report as an [example](https://api.wandb.ai/links/wandb-smle/r82bj9at)\n",
+ "![model registry](https://drive.google.com/uc?export=view&id=1lKPgaw-Ak4WK_91aBMcLvUMJL6pDQpgO)\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
},
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "\n",
- "\n",
- "\n",
- "# W&B Tutorial with Pytorch Lightning"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 🛠️ Install `wandb` and `pytorch-lightning`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "!pip install -q pytorch-lightning wandb"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Login to W&B either through Python or CLI\n",
- "If you are using the public W&B cloud, you don't need to specify the `WANDB_HOST`.\n",
- "\n",
- "You can set environment variables `WANDB_API_KEY` and `WANDB_HOST` and pass them in as:\n",
- "```\n",
- "import os\n",
- "import wandb \n",
- "\n",
- "wandb.login(host=os.getenv(\"WANDB_HOST\"), key=os.getenv(\"WANDB_API_KEY\"))\n",
- "```\n",
- "You can also login via the CLI with: \n",
- "```\n",
- "wandb login --host \n",
- "```"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import wandb\n",
- "wandb.login()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## ⚱ Logging the Raw Training Data as an Artifact"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "#@title Enter your W&B project and entity\n",
- "\n",
- "# FORM VARIABLES\n",
- "PROJECT_NAME = \"pytorch-lightning-e2e\" #@param {type:\"string\"}\n",
- "ENTITY = \"wandb\"#@param {type:\"string\"}\n",
- "\n",
- "# set SIZE to \"TINY\", \"SMALL\", \"MEDIUM\", or \"LARGE\"\n",
- "# to select one of these three datasets\n",
- "# TINY dataset: 100 images, 30MB\n",
- "# SMALL dataset: 1000 images, 312MB\n",
- "# MEDIUM dataset: 5000 images, 1.5GB\n",
- "# LARGE dataset: 12,000 images, 3.6GB\n",
- "\n",
- "SIZE = \"TINY\"\n",
- "\n",
- "if SIZE == \"TINY\":\n",
- " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_100.zip\"\n",
- " src_zip = \"nature_100.zip\"\n",
- " DATA_SRC = \"nature_100\"\n",
- " IMAGES_PER_LABEL = 10\n",
- " BALANCED_SPLITS = {\"train\" : 8, \"val\" : 1, \"test\": 1}\n",
- "elif SIZE == \"SMALL\":\n",
- " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_1K.zip\"\n",
- " src_zip = \"nature_1K.zip\"\n",
- " DATA_SRC = \"nature_1K\"\n",
- " IMAGES_PER_LABEL = 100\n",
- " BALANCED_SPLITS = {\"train\" : 80, \"val\" : 10, \"test\": 10}\n",
- "elif SIZE == \"MEDIUM\":\n",
- " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_12K.zip\"\n",
- " src_zip = \"nature_12K.zip\"\n",
- " DATA_SRC = \"inaturalist_12K/train\" # (technically a subset of only 10K images)\n",
- " IMAGES_PER_LABEL = 500\n",
- " BALANCED_SPLITS = {\"train\" : 400, \"val\" : 50, \"test\": 50}\n",
- "elif SIZE == \"LARGE\":\n",
- " src_url = \"https://storage.googleapis.com/wandb_datasets/nature_12K.zip\"\n",
- " src_zip = \"nature_12K.zip\"\n",
- " DATA_SRC = \"inaturalist_12K/train\" # (technically a subset of only 10K images)\n",
- " IMAGES_PER_LABEL = 1000\n",
- " BALANCED_SPLITS = {\"train\" : 800, \"val\" : 100, \"test\": 100}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "%%capture\n",
- "!curl -SL $src_url > $src_zip\n",
- "!unzip $src_zip"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import wandb\n",
- "import pandas as pd\n",
- "import os\n",
- "\n",
- "with wandb.init(project=PROJECT_NAME, entity=ENTITY, job_type='log_datasets') as run:\n",
- " img_paths = []\n",
- " for root, dirs, files in os.walk('nature_100', topdown=False):\n",
- " for name in files:\n",
- " img_path = os.path.join(root, name)\n",
- " label = img_path.split('/')[1]\n",
- " img_paths.append([img_path, label])\n",
- "\n",
- " index_df = pd.DataFrame(columns=['image_path', 'label'], data=img_paths)\n",
- " index_df.to_csv('index.csv', index=False)\n",
- "\n",
- " train_art = wandb.Artifact(name='Nature_100', type='raw_images', description='nature image dataset with 10 classes, 10 images per class')\n",
- " train_art.add_dir('nature_100')\n",
- "\n",
- " # Also adding a csv indicating the labels of each image\n",
- " train_art.add_file('index.csv')\n",
- " wandb.log_artifact(train_art)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Using Artifacts in Pytorch Lightning `DataModule`'s and Pytorch `Dataset`'s\n",
- "- Makes it easy to interopt your DataLoaders with new versions of datasets\n",
- "- Just indicate the `name:alias` as an argument to your `Dataset` or `DataModule`\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from torchvision import transforms\n",
- "import pytorch_lightning as pl\n",
- "import torch\n",
- "from torch.utils.data import Dataset, DataLoader, random_split\n",
- "from skimage import io, transform\n",
- "from torchvision import transforms, utils, models\n",
- "import math\n",
- "\n",
- "class NatureDataset(Dataset):\n",
- " def __init__(self, \n",
- " wandb_run, \n",
- " artifact_name_alias=\"Nature_100:latest\", \n",
- " local_target_dir=\"Nature_100:latest\", \n",
- " transform=None):\n",
- " self.local_target_dir = local_target_dir\n",
- " self.transform = transform\n",
- "\n",
- " # Pull down the artifact locally to load it into memory\n",
- " art = wandb_run.use_artifact(artifact_name_alias)\n",
- " path_at = art.download(root=self.local_target_dir)\n",
- "\n",
- " self.ref_df = pd.read_csv(os.path.join(self.local_target_dir, 'index.csv'))\n",
- " self.class_names = self.ref_df.iloc[:, 1].unique().tolist()\n",
- " self.idx_to_class = {k: v for k, v in enumerate(self.class_names)}\n",
- " self.class_to_idx = {v: k for k, v in enumerate(self.class_names)}\n",
- "\n",
- " def __len__(self):\n",
- " return len(self.ref_df)\n",
- "\n",
- " def __getitem__(self, idx):\n",
- " if torch.is_tensor(idx):\n",
- " idx = idx.tolist()\n",
- "\n",
- " img_path = self.ref_df.iloc[idx, 0]\n",
- "\n",
- " image = io.imread(img_path)\n",
- " label = self.ref_df.iloc[idx, 1]\n",
- " label = torch.tensor(self.class_to_idx[label], dtype=torch.long)\n",
- "\n",
- " if self.transform:\n",
- " image = self.transform(image)\n",
- "\n",
- " return image, label\n",
- "\n",
- "\n",
- "class NatureDatasetModule(pl.LightningDataModule):\n",
- " def __init__(self,\n",
- " wandb_run,\n",
- " artifact_name_alias: str = \"Nature_100:latest\",\n",
- " local_target_dir: str = \"Nature_100:latest\",\n",
- " batch_size: int = 16,\n",
- " input_size: int = 224,\n",
- " seed: int = 42):\n",
- " super().__init__()\n",
- " self.wandb_run = wandb_run\n",
- " self.artifact_name_alias = artifact_name_alias\n",
- " self.local_target_dir = local_target_dir\n",
- " self.batch_size = batch_size\n",
- " self.input_size = input_size\n",
- " self.seed = seed\n",
- "\n",
- " def setup(self, stage=None):\n",
- " self.nature_dataset = NatureDataset(wandb_run=self.wandb_run,\n",
- " artifact_name_alias=self.artifact_name_alias,\n",
- " local_target_dir=self.local_target_dir,\n",
- " transform=transforms.Compose([transforms.ToTensor(),\n",
- " transforms.CenterCrop(self.input_size),\n",
- " transforms.Normalize((0.485, 0.456, 0.406),\n",
- " (0.229, 0.224, 0.225))]))\n",
- "\n",
- " nature_length = len(self.nature_dataset)\n",
- " train_size = math.floor(0.8 * nature_length)\n",
- " val_size = math.floor(0.2 * nature_length)\n",
- " self.nature_train, self.nature_val = random_split(self.nature_dataset,\n",
- " [train_size, val_size],\n",
- " generator=torch.Generator().manual_seed(self.seed))\n",
- " return self\n",
- "\n",
- " def train_dataloader(self):\n",
- " return DataLoader(self.nature_train, batch_size=self.batch_size)\n",
- "\n",
- " def val_dataloader(self):\n",
- " return DataLoader(self.nature_val, batch_size=self.batch_size)\n",
- "\n",
- " def predict_dataloader(self):\n",
- " pass\n",
- "\n",
- " def teardown(self, stage: str):\n",
- " pass"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "##How Logging in your Pytorch `LightningModule`works:\n",
- "When you train the model using `Trainer`, ensure you have a `WandbLogger` instantiated and passed in as a `logger`. \n",
- " \n",
- "```\n",
- "wandb_logger = WandbLogger(project=\"my_project\", entity=\"machine-learning\") \n",
- "trainer = Trainer(logger=wandb_logger) \n",
- "```\n",
- "\n",
- "\n",
- "You can always use `wandb.log` as normal throughout the module. When the `WandbLogger` is used, `self.log` will also log metrics to W&B. \n",
- "- To access the current run from within the `LightningModule`, you can access `Trainer.logger.experiment`, which is a `wandb.Run` object"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Some helper functions"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# Some helper functions\n",
- "\n",
- "def set_parameter_requires_grad(model, feature_extracting):\n",
- " if feature_extracting:\n",
- " for param in model.parameters():\n",
- " param.requires_grad = False\n",
- "\n",
- "def initialize_model(model_name, num_classes, feature_extract, use_pretrained=True):\n",
- " # Initialize these variables which will be set in this if statement. Each of these\n",
- " # variables is model specific.\n",
- " model_ft = None\n",
- " input_size = 0\n",
- "\n",
- " if model_name == \"resnet\":\n",
- " \"\"\" Resnet18\n",
- " \"\"\"\n",
- " model_ft = models.resnet18(pretrained=use_pretrained)\n",
- " set_parameter_requires_grad(model_ft, feature_extract)\n",
- " num_ftrs = model_ft.fc.in_features\n",
- " model_ft.fc = torch.nn.Linear(num_ftrs, num_classes)\n",
- " input_size = 224\n",
- "\n",
- " elif model_name == \"squeezenet\":\n",
- " \"\"\" Squeezenet\n",
- " \"\"\"\n",
- " model_ft = models.squeezenet1_0(pretrained=use_pretrained)\n",
- " set_parameter_requires_grad(model_ft, feature_extract)\n",
- " model_ft.classifier[1] = torch.nn.Conv2d(512, num_classes, kernel_size=(1, 1), stride=(1, 1))\n",
- " model_ft.num_classes = num_classes\n",
- " input_size = 224\n",
- "\n",
- " elif model_name == \"densenet\":\n",
- " \"\"\" Densenet\n",
- " \"\"\"\n",
- " model_ft = models.densenet121(pretrained=use_pretrained)\n",
- " set_parameter_requires_grad(model_ft, feature_extract)\n",
- " num_ftrs = model_ft.classifier.in_features\n",
- " model_ft.classifier = torch.nn.Linear(num_ftrs, num_classes)\n",
- " input_size = 224\n",
- "\n",
- " else:\n",
- " print(\"Invalid model name, exiting...\")\n",
- " exit()\n",
- "\n",
- " return model_ft, input_size"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Writing the `LightningModule`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import torch\n",
- "from torch.nn import Linear, CrossEntropyLoss, functional as F\n",
- "from torch.optim import Adam\n",
- "from torchmetrics.functional import accuracy\n",
- "from pytorch_lightning import LightningModule\n",
- "from torchvision import models\n",
- "\n",
- "class NatureLitModule(LightningModule):\n",
- " def __init__(self,\n",
- " model_name,\n",
- " num_classes=10,\n",
- " feature_extract=True,\n",
- " lr=0.01):\n",
- " '''method used to define our model parameters'''\n",
- " super().__init__()\n",
- "\n",
- " self.model_name = model_name\n",
- " self.num_classes = num_classes\n",
- " self.feature_extract = feature_extract\n",
- " self.model, self.input_size = initialize_model(model_name=self.model_name,\n",
- " num_classes=self.num_classes,\n",
- " feature_extract=True)\n",
- "\n",
- " # loss\n",
- " self.loss = CrossEntropyLoss()\n",
- "\n",
- " # optimizer parameters\n",
- " self.lr = lr\n",
- "\n",
- " # save hyper-parameters to self.hparams (auto-logged by W&B)\n",
- " self.save_hyperparameters()\n",
- "\n",
- " # Record the gradients of all the layers\n",
- " wandb.watch(self.model)\n",
- "\n",
- " def forward(self, x):\n",
- " '''method used for inference input -> output'''\n",
- " x = self.model(x)\n",
- "\n",
- " return x\n",
- "\n",
- " def training_step(self, batch, batch_idx):\n",
- " '''needs to return a loss from a single batch'''\n",
- " preds, y, loss, acc = self._get_preds_loss_accuracy(batch)\n",
- "\n",
- " # Log loss and metric\n",
- " self.log('train/loss', loss)\n",
- " self.log('train/accuracy', acc)\n",
- "\n",
- " return loss\n",
- "\n",
- " def validation_step(self, batch, batch_idx):\n",
- " '''used for logging metrics'''\n",
- " preds, y, loss, acc = self._get_preds_loss_accuracy(batch)\n",
- "\n",
- " # Log loss and metric\n",
- " self.log('validation/loss', loss)\n",
- " self.log('validation/accuracy', acc)\n",
- "\n",
- " # Let's return preds to use it in a custom callback\n",
- " return preds, y\n",
- "\n",
- " def validation_epoch_end(self, validation_step_outputs):\n",
- " \"\"\"Called when the validation ends.\"\"\"\n",
- " preds, y = validation_step_outputs\n",
- " all_preds = torch.stack(preds)\n",
- " all_y = torch.stack(y)\n",
- "\n",
- " def test_step(self, batch, batch_idx):\n",
- " '''used for logging metrics'''\n",
- " preds, y, loss, acc = self._get_preds_loss_accuracy(batch)\n",
- "\n",
- " # Log loss and metric\n",
- " self.log('test/loss', loss)\n",
- " self.log('test/accuracy', acc)\n",
- "\n",
- " def configure_optimizers(self):\n",
- " '''defines model optimizer'''\n",
- " return Adam(self.parameters(), lr=self.lr)\n",
- "\n",
- "\n",
- " def _get_preds_loss_accuracy(self, batch):\n",
- " '''convenience function since train/valid/test steps are similar'''\n",
- " x, y = batch\n",
- " logits = self(x)\n",
- " preds = torch.argmax(logits, dim=1)\n",
- " loss = self.loss(logits, y)\n",
- " acc = accuracy(preds, y, task=\"multiclass\", num_classes=10)\n",
- " return preds, y, loss, acc"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Instrument Callbacks to log additional things at certain points in your code"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from pytorch_lightning.callbacks import Callback\n",
- "\n",
- "class LogPredictionsCallback(Callback):\n",
- "\n",
- " def __init__(self):\n",
- " super().__init__()\n",
- "\n",
- " \n",
- " def on_validation_epoch_start(self, trainer, pl_module):\n",
- " self.batch_dfs = []\n",
- " self.image_list = []\n",
- " self.val_table = wandb.Table(columns=['image', 'ground_truth', 'prediction'])\n",
- "\n",
- " \n",
- " def on_validation_batch_end(\n",
- " self, trainer, pl_module, outputs, batch, batch_idx, dataloader_idx):\n",
- " \"\"\"Called when the validation batch ends.\"\"\"\n",
- "\n",
- " # Append validation predictions and ground truth to log in confusion matrix\n",
- " x, y = batch\n",
- " preds, y = outputs\n",
- " self.batch_dfs.append(pd.DataFrame({\"Ground Truth\": y.numpy(), \"Predictions\": preds.numpy()}))\n",
- "\n",
- " # Add wandb.Image to a table to log at the end of validation\n",
- " x = x.numpy().transpose(0, 2, 3, 1)\n",
- " for x_i, y_i, y_pred in list(zip(x, y, preds)):\n",
- " self.image_list.append(wandb.Image(x_i, caption=f'Ground Truth: {y_i} - Prediction: {y_pred}'))\n",
- " self.val_table.add_data(wandb.Image(x_i), y_i, y_pred)\n",
- " \n",
- " \n",
- " def on_validation_epoch_end(self, trainer, pl_module):\n",
- " # Collect statistics for whole validation set and log\n",
- " class_names = trainer.datamodule.nature_dataset.class_names\n",
- " val_df = pd.concat(self.batch_dfs)\n",
- " wandb.log({\"validation_table\": self.val_table,\n",
- " \"images_over_time\": self.image_list,\n",
- " \"validation_conf_matrix\": wandb.plot.confusion_matrix(y_true = val_df[\"Ground Truth\"].tolist(), \n",
- " preds=val_df[\"Predictions\"].tolist(), \n",
- " class_names=class_names)}, step=trainer.global_step)\n",
- "\n",
- " del self.batch_dfs\n",
- " del self.val_table\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 🏋️ Main Training Loop"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from pytorch_lightning.callbacks import ModelCheckpoint\n",
- "from pytorch_lightning.loggers import WandbLogger\n",
- "from pytorch_lightning import Trainer\n",
- "\n",
- "wandb.init(project=PROJECT_NAME,\n",
- " entity=ENTITY,\n",
- " job_type='training',\n",
- " config={\n",
- " \"model_name\": \"squeezenet\",\n",
- " \"batch_size\": 16\n",
- " })\n",
- "\n",
- "wandb_logger = WandbLogger(log_model='all', checkpoint_name=f'nature-{wandb.run.id}') \n",
- "\n",
- "log_predictions_callback = LogPredictionsCallback()\n",
- "checkpoint_callback = ModelCheckpoint(every_n_epochs=1)\n",
- "\n",
- "model = NatureLitModule(model_name=wandb.config['model_name']) # Access hyperparameters downstream to instantiate models/datasets\n",
- "\n",
- "nature_module = NatureDatasetModule(wandb_run = wandb_logger.experiment,\n",
- " artifact_name_alias = \"Nature_100:latest\",\n",
- " local_target_dir = \"Nature_100:latest\",\n",
- " batch_size=wandb.config['batch_size'],\n",
- " input_size=model.input_size)\n",
- "nature_module.setup()\n",
- "\n",
- "trainer = Trainer(logger=wandb_logger, # W&B integration\n",
- " callbacks=[log_predictions_callback, checkpoint_callback],\n",
- " max_epochs=5,\n",
- " log_every_n_steps=5) \n",
- "trainer.fit(model, datamodule=nature_module)\n",
- "\n",
- "wandb.finish()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Syncing with W&B Offline\n",
- "If for some reason, network communication is lost during the course of training, you can always sync progress with `wandb sync`\n",
- "\n",
- "The W&B sdk caches all logged data in a local directory `wandb` and when you call `wandb sync`, this syncs the your local state with the web app. "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Retrieve a model checkpoint artifact and resume training\n",
- "- Artifacts make it easy to track state of your training remotely and then resume training from a checkpoint"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "#@title Enter which checkpoint you want to resume training from:\n",
- "\n",
- "# FORM VARIABLES\n",
- "ARTIFACT_NAME_ALIAS = \"nature-zb4swpn6:v4\" #@param {type:\"string\"}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "wandb.init(project=PROJECT_NAME,\n",
- " entity=ENTITY,\n",
- " job_type='resume_training')\n",
- "\n",
- "# Retrieve model checkpoint artifact and restore previous hyperparameters\n",
- "model_chkpt_art = wandb.use_artifact(f'{ENTITY}/{PROJECT_NAME}/{ARTIFACT_NAME_ALIAS}')\n",
- "model_chkpt_art.download() # Can change download directory by adding `root`, defaults to \"./artifacts\"\n",
- "logging_run = model_chkpt_art.logged_by()\n",
- "wandb.config = logging_run.config\n",
- "\n",
- "# Can create a new artifact name or continue logging to the old one\n",
- "artifact_name = ARTIFACT_NAME_ALIAS.split(\":\")[0]\n",
- "wandb_logger = WandbLogger(log_model='all', checkpoint_name=artifact_name) \n",
- "\n",
- "log_predictions_callback = LogPredictionsCallback()\n",
- "checkpoint_callback = ModelCheckpoint(every_n_epochs=1)\n",
- "\n",
- "model = NatureLitModule(model_name=wandb.config['model_name']) # Access hyperparameters downstream to instantiate models/datasets\n",
- "\n",
- "nature_module = NatureDatasetModule(wandb_run = wandb_logger.experiment,\n",
- " artifact_name_alias = \"Nature_100:latest\",\n",
- " local_target_dir = \"Nature_100:latest\",\n",
- " batch_size=wandb.config['batch_size'],\n",
- " input_size=model.input_size)\n",
- "nature_module.setup()\n",
- "\n",
- "\n",
- "\n",
- "trainer = Trainer(logger=wandb_logger, # W&B integration\n",
- " resume_from_checkpoint = f'./artifacts/{ARTIFACT_NAME_ALIAS}/model.ckpt',\n",
- " callbacks=[log_predictions_callback, checkpoint_callback],\n",
- " max_epochs=10,\n",
- " log_every_n_steps=5) \n",
- "trainer.fit(model, datamodule=nature_module)\n",
- "\n",
- "wandb.finish()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Model Registry \n",
- "After logging a bunch of checkpoints across multiple runs during experimentation, now comes time to hand-off the best checkpoint to the next stage of the workflow (e.g. testing, deployment).\n",
- "\n",
- "The model registry offers a centralized place to house the best checkpoints for all your model tasks. Any `model` artifact you log can be \"linked\" to a Registered Model. Here are the steps to start using the model registry for more organized model management:\n",
- "1. Access your team's model registry by going the team page and selecting `Model Registry`\n",
- "![model registry](https://drive.google.com/uc?export=view&id=1ZtJwBsFWPTm4Sg5w8vHhRpvDSeQPwsKw)\n",
- "\n",
- "2. Create a new Registered Model. \n",
- "![model registry](https://drive.google.com/uc?export=view&id=1RuayTZHNE0LJCxt1t0l6-2zjwiV4aDXe)\n",
- "\n",
- "3. Go to the artifacts tab of the project that holds all your model checkpoints\n",
- "![model registry](https://drive.google.com/uc?export=view&id=1r_jlhhtcU3as8VwQ-4oAntd8YtTwElFB)\n",
- "\n",
- "4. Click \"Link to Registry\" for the model artifact version you want. (Alternatively you can [link a model via api](https://docs.wandb.ai/guides/models) with `wandb.run.link_artifact`)\n",
- "\n",
- "**A note on linking:** The process of linking a model checkpoint is akin to \"bookmarking\" it. Each time you link a new model artifact to a Registered Model, this increments the version of the Registered Model. This helps delineate the model development side of the workflow from the model deployment/consumption side. The globally understood version/alias of a model should be unpolluted from all the experimental versions being generated in R&D and thus the versioning of a Registered Model increments according to new \"bookmarked\" models as opposed to model checkpoint logging. \n",
- "\n",
- "\n",
- "### Create a Centralized Hub for all your models\n",
- "- Add a model card, tags, slack notifactions to your Registered Model\n",
- "- Change aliases to reflect when models move through different phases\n",
- "- Embed the model registry in reports for model documentation and regression reports. See this report as an [example](https://api.wandb.ai/links/wandb-smle/r82bj9at)\n",
- "![model registry](https://drive.google.com/uc?export=view&id=1lKPgaw-Ak4WK_91aBMcLvUMJL6pDQpgO)\n"
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "include_colab_link": true,
- "provenance": [],
- "toc_visible": true
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/colabs/pytorch/How_does_adding_dropout_affect_model_performance.ipynb b/colabs/pytorch/How_does_adding_dropout_affect_model_performance.ipynb
index 41b8b3fa..be25a18c 100644
--- a/colabs/pytorch/How_does_adding_dropout_affect_model_performance.ipynb
+++ b/colabs/pytorch/How_does_adding_dropout_affect_model_performance.ipynb
@@ -48,8 +48,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/pytorch/Organizing_Hyperparameter_Sweeps_in_PyTorch_with_W&B.ipynb b/colabs/pytorch/Organizing_Hyperparameter_Sweeps_in_PyTorch_with_W&B.ipynb
index 00a27712..1ef18a83 100644
--- a/colabs/pytorch/Organizing_Hyperparameter_Sweeps_in_PyTorch_with_W&B.ipynb
+++ b/colabs/pytorch/Organizing_Hyperparameter_Sweeps_in_PyTorch_with_W&B.ipynb
@@ -98,8 +98,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/pytorch/Simple_PyTorch_Integration.ipynb b/colabs/pytorch/Simple_PyTorch_Integration.ipynb
index f261fd3a..9369972e 100644
--- a/colabs/pytorch/Simple_PyTorch_Integration.ipynb
+++ b/colabs/pytorch/Simple_PyTorch_Integration.ipynb
@@ -186,8 +186,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/raytune/RayTune_with_wandb.ipynb b/colabs/raytune/RayTune_with_wandb.ipynb
index 42b6e272..00dc6caf 100644
--- a/colabs/raytune/RayTune_with_wandb.ipynb
+++ b/colabs/raytune/RayTune_with_wandb.ipynb
@@ -1,329 +1,409 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- ""
- ]
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "CHj4COZvzWta"
+ },
+ "source": [
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "f5SyUYlHzWtd"
+ },
+ "source": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "Use Weights & Biases for machine learning experiment tracking, dataset versioning, and project collaboration.\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "oQYw5uVFzWtd"
+ },
+ "source": [
+ "\n",
+ "# 🌞 Ray/Tune and 🏋️♀️ Weights & Biases\n",
+ "\n",
+ "Both Weights and Biases and Ray/Tune are built for scale and handle millions of models every month for teams doing some of the most cutting-edge deep learning research.\n",
+ "\n",
+ "[W&B](https://wandb.com) is a toolkit with everything you need to track, reproduce, and gain insights from your models easily; [Ray/Tune](https://docs.ray.io/en/latest/tune/) provides a simple interface for scaling and running distributed experiments.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "SFI8z2gWzWte"
+ },
+ "source": [
+ "\n",
+ "### 🤝 They're a natural match! 🤝\n",
+ "\n",
+ "Here's just a few reasons why our community likes Ray/Tune –\n",
+ "\n",
+ "* **Simple distributed execution**: Ray/Tune makes it easy to scale all the way from a single node on a laptop, through to multiple GPUs, and up to multiple nodes on multiple machines.\n",
+ "* **State-of-the-art algorithms**: Ray/Tune has tested implementations of a huge number of potent scheduling algorithms including\n",
+ "[Population-Based Training](https://docs.ray.io/en/latest/tune/tutorials/tune-advanced-tutorial.html),\n",
+ "[ASHA](https://docs.ray.io/en/master/tune/tutorials/tune-tutorial.html#early-stopping-with-asha),\n",
+ "and\n",
+ "[HyperBand](https://docs.ray.io/en/latest/tune/api_docs/schedulers.html#hyperband-tune-schedulers-hyperbandscheduler)\n",
+ "* **Method agnostic**: Ray/Tune works across deep learning frameworks (including PyTorch, Keras, Tensorflow, and PyTorchLightning) and with other ML methods like gradient-boosted trees (XGBoost, LightGBM)\n",
+ "* **Fault-tolerance**: Ray/Tune is built on top of Ray, providing tolerance for failed runs out of the box.\n",
+ "\n",
+ "This Colab demonstrates how this integration works for a simple grid search over two hyperparameters. If you've got any questions about the details,\n",
+ "check out\n",
+ "[our documentation](https://docs.wandb.com/library/integrations/ray-tune)\n",
+ "or the\n",
+ "[documentation for Ray/Tune](https://docs.ray.io/en/master/tune/api_docs/integration.html#weights-and-biases-tune-integration-wandb).\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Hw1mGxhlzWte"
+ },
+ "source": [
+ "W&B integrates with `ray.tune` by offering two lightweight standalone integrations:\n",
+ "\n",
+ "1. For simple cases, `WandbLoggerCallback` automatically logs metrics reported to Tune to W&B, along with the configuration of the experiment, using Tune's [`logger` interface](https://docs.ray.io/en/latest/tune/api_docs/logging.html).\n",
+ "2. The `@wandb_mixin` decorator gives you greater control over logging by letting you call `wandb.log` inside the decorated function, allowing you to [log custom metrics, plots, and other outputs, like media](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/wandb-log/Log_(Almost)_Anything_with_W%26B_Media.ipynb).\n",
+ "\n",
+ "These methods can be used together or independently.\n",
+ "\n",
+ "The example below demonstrates how they can be used together."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "qRrP4G23zWte"
+ },
+ "source": [
+ "# 🧹 Running a hyperparameter sweep with W&B and Ray/Tune"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "QfDVmu9szWte"
+ },
+ "source": [
+ "## 📥 Install, `import`, and set seeds"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "XRjOn9QRzWte"
+ },
+ "source": [
+ "\n",
+ "Let's start by installing the libraries and importing everything we need.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "LCVSvebNzWtf"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install -Uq ray[tune] wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "qBCk5SvQ1q_n"
+ },
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "os.environ[\"WANDB_API_KEY\"] = \"654d20637b9232f03417d6ae6e620f3b7cb70125\" #@param {type:\"string\"}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "dfHgJfVszWtf"
+ },
+ "outputs": [],
+ "source": [
+ "import random\n",
+ "import numpy as np\n",
+ "from filelock import FileLock\n",
+ "import tempfile\n",
+ "from ray import train, tune\n",
+ "from ray.air.integrations.wandb import WandbLoggerCallback, setup_wandb\n",
+ "from ray.tune.schedulers import AsyncHyperBandScheduler\n",
+ "from ray.train import Checkpoint\n",
+ "import torch\n",
+ "import torch.optim as optim\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "Y1ysNX6pzWtf",
+ "outputId": "f6a36dad-1d03-4f13-d552-e00896d919db"
+ },
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "mYPSEuIgzWtg"
+ },
+ "source": [
+ "We'll make use of Ray's handy [`mnist_pytorch` example code](https://github.com/ray-project/ray/blob/master/python/ray/tune/examples/mnist_pytorch.py)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "8b-t9a7pzWtg"
+ },
+ "outputs": [],
+ "source": [
+ "from ray.tune.examples.mnist_pytorch import ConvNet, get_data_loaders, test_func, train_func"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "BJ-zAJWpzWtg"
+ },
+ "source": [
+ "In order to make this experiment reproducible, we'll set the seeds for random number generators of various libraries used in this experiment."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "GbXqaFYizWtg"
+ },
+ "outputs": [],
+ "source": [
+ "torch.backends.cudnn.deterministic = True\n",
+ "random.seed(2022)\n",
+ "np.random.seed(2022)\n",
+ "torch.manual_seed(2022)\n",
+ "torch.cuda.manual_seed_all(2022)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "nAmSUMP4zWtg"
+ },
+ "source": [
+ "## 🤝 Integrating W&B with Ray/Tune"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "OVmU1CRgzWtg"
+ },
+ "source": [
+ "Now, we define our training process, decorated with `@wandb_mixin` so we can call `wandb.log` to log our custom metric\n",
+ "(here, just the error rate; you might also [log media](https://docs.wandb.com/library/log#media), e.g. images from the validation set, captioned by the model predictions).\n",
+ "\n",
+ "When we execute our hyperparameter sweep below,\n",
+ "this function will be called with a `config`uration dictionary\n",
+ "that contains values for any hyperparameters.\n",
+ "For simplicity, we only have two hyperparameters here:\n",
+ "the learning rate and momentum value for accelerated SGD."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "nf2FKgaM21Em"
+ },
+ "outputs": [],
+ "source": [
+ "def train_mnist(config):\n",
+ " # Setup wandb\n",
+ " wandb = setup_wandb(config)\n",
+ " should_checkpoint = config.get(\"should_checkpoint\", False)\n",
+ " use_cuda = torch.cuda.is_available()\n",
+ " device = torch.device(\"cuda\" if use_cuda else \"cpu\")\n",
+ " train_loader, test_loader = get_data_loaders()\n",
+ " model = ConvNet().to(device)\n",
+ "\n",
+ " optimizer = optim.SGD(\n",
+ " model.parameters(), lr=config[\"lr\"], momentum=config[\"momentum\"]\n",
+ " )\n",
+ " while True:\n",
+ " train_func(model, optimizer, train_loader, device)\n",
+ " acc = test_func(model, test_loader, device)\n",
+ " metrics = {\"mean_accuracy\": acc}\n",
+ "\n",
+ " # Report metrics (and possibly a checkpoint)\n",
+ " if should_checkpoint:\n",
+ " with tempfile.TemporaryDirectory() as tempdir:\n",
+ " torch.save(model.state_dict(), os.path.join(tempdir, \"model.pt\"))\n",
+ " train.report(metrics, checkpoint=Checkpoint.from_directory(tempdir))\n",
+ " else:\n",
+ " train.report(metrics)\n",
+ " # enables logging custom metrics using wandb.log()\n",
+ " error_rate = 100 * (1 - acc)\n",
+ " wandb.log({\"error_rate\": error_rate})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "FjSalAQkzWth"
+ },
+ "source": [
+ "## 🚀 Launching a Sweep with W&B and Ray/Tune"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "lBS6iyXAzWth"
+ },
+ "source": [
+ "We're now almost ready to call `tune.run` to launch our hyperparameter sweep!\n",
+ "We just need to do three things:\n",
+ "1. set up a `wandb.Run`,\n",
+ "2. give the `WandbLoggerCallback` to `tune.run` so we can capture the output of `tune.report`, and\n",
+ "3. set up our hyperparameter sweep.\n",
+ "\n",
+ "A `wandb.Run` is normally created by calling `wandb.init`.\n",
+ "`tune` will handle that for you, you just need to pass\n",
+ "the arguments as a dictionary\n",
+ "(see [our documentation](https://docs.wandb.com/library/init) for details on `wandb.init`).\n",
+ "At the bare minimum, you need to pass in a `project` name --\n",
+ "sort of like a `git` repo name, but for your ML projects.\n",
+ "\n",
+ "In addition to holding arguments for `wandb.init`,\n",
+ "that dictionary also has a few special keys, described in\n",
+ "[the documentation for the `WandbLoggerCallback`](https://docs.ray.io/en/master/tune/tutorials/tune-wandb.html)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "E6HRghT9zWth"
+ },
+ "source": [
+ "We handle steps 2 and 3 when we invoke `tune.run`.\n",
+ "\n",
+ "Step 2 is handled by passing in the `WandbLoggerCallback` class in a list\n",
+ "to the `loggers` argument of `tune.run`.\n",
+ "\n",
+ "The setup of the hyperparameter sweep is handled by the\n",
+ "`config` argument of `tune.run`.\n",
+ "For the purposes of the integration,\n",
+ "the most important part is that this is where we pass in the `wandb_init`\n",
+ "dictionary.\n",
+ "\n",
+ "This is also where we configure the \"meat\" of the hyperparameter sweep:\n",
+ "what are the hyperparameters we're sweeping over,\n",
+ "and how do we choose their values.\n",
+ "\n",
+ "Here, we do a simple grid search, but\n",
+ "[Ray/Tune provides lots of sophisticated options](https://docs.ray.io/en/latest/tune/api_docs/suggestion.html)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "tw4eawRD0u8y",
+ "outputId": "e4ddf59b-5445-4d55-8f69-84a9fcb35024"
+ },
+ "outputs": [],
+ "source": [
+ "# for early stopping\n",
+ "sched = AsyncHyperBandScheduler()\n",
+ "\n",
+ "resources_per_trial = {\"gpu\": 1} # set this for GPUs\n",
+ "tuner = tune.Tuner(\n",
+ " tune.with_resources(train_mnist, resources=resources_per_trial),\n",
+ " tune_config=tune.TuneConfig(\n",
+ " metric=\"mean_accuracy\",\n",
+ " mode=\"max\",\n",
+ " scheduler=sched,\n",
+ " num_samples=50,\n",
+ " ),\n",
+ " run_config=train.RunConfig(\n",
+ " name=\"exp\",\n",
+ " stop={\n",
+ " \"mean_accuracy\": 0.98,\n",
+ " \"training_iteration\": 5,\n",
+ " },\n",
+ " callbacks=[WandbLoggerCallback(project=\"raytune-colab\")]\n",
+ " ),\n",
+ " param_space={\n",
+ " \"lr\": tune.loguniform(1e-4, 1e-2),\n",
+ " \"momentum\": tune.uniform(0.1, 0.9),\n",
+ " },\n",
+ ")\n",
+ "results = tuner.fit()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "1f8oI7tYzWth",
+ "outputId": "9fece67a-47e7-443a-ab8f-971f3d8dfd94"
+ },
+ "outputs": [],
+ "source": [
+ "print(\"Best config is:\", results.get_best_result().config)"
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
},
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "\n",
- "\n",
- "\n",
- "Use Weights & Biases for machine learning experiment tracking, dataset versioning, and project collaboration.\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
- ""
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "# 🌞 Ray/Tune and 🏋️♀️ Weights & Biases \n",
- "\n",
- "Both Weights and Biases and Ray/Tune are built for scale and handle millions of models every month for teams doing some of the most cutting-edge deep learning research.\n",
- "\n",
- "[W&B](https://wandb.com) is a toolkit with everything you need to track, reproduce, and gain insights from your models easily; [Ray/Tune](https://docs.ray.io/en/latest/tune/) provides a simple interface for scaling and running distributed experiments.\n"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### 🤝 They're a natural match! 🤝\n",
- "\n",
- "Here's just a few reasons why our community likes Ray/Tune –\n",
- "\n",
- "* **Simple distributed execution**: Ray/Tune makes it easy to scale all the way from a single node on a laptop, through to multiple GPUs, and up to multiple nodes on multiple machines.\n",
- "* **State-of-the-art algorithms**: Ray/Tune has tested implementations of a huge number of potent scheduling algorithms including\n",
- "[Population-Based Training](https://docs.ray.io/en/latest/tune/tutorials/tune-advanced-tutorial.html),\n",
- "[ASHA](https://docs.ray.io/en/master/tune/tutorials/tune-tutorial.html#early-stopping-with-asha),\n",
- "and\n",
- "[HyperBand](https://docs.ray.io/en/latest/tune/api_docs/schedulers.html#hyperband-tune-schedulers-hyperbandscheduler)\n",
- "* **Method agnostic**: Ray/Tune works across deep learning frameworks (including PyTorch, Keras, Tensorflow, and PyTorchLightning) and with other ML methods like gradient-boosted trees (XGBoost, LightGBM)\n",
- "* **Fault-tolerance**: Ray/Tune is built on top of Ray, providing tolerance for failed runs out of the box.\n",
- "\n",
- "This Colab demonstrates how this integration works for a simple grid search over two hyperparameters. If you've got any questions about the details,\n",
- "check out\n",
- "[our documentation](https://docs.wandb.com/library/integrations/ray-tune)\n",
- "or the\n",
- "[documentation for Ray/Tune](https://docs.ray.io/en/master/tune/api_docs/integration.html#weights-and-biases-tune-integration-wandb).\n"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "W&B integrates with `ray.tune` by offering two lightweight standalone integrations:\n",
- "\n",
- "1. For simple cases, `WandbLoggerCallback` automatically logs metrics reported to Tune to W&B, along with the configuration of the experiment, using Tune's [`logger` interface](https://docs.ray.io/en/latest/tune/api_docs/logging.html).\n",
- "2. The `@wandb_mixin` decorator gives you greater control over logging by letting you call `wandb.log` inside the decorated function, allowing you to [log custom metrics, plots, and other outputs, like media](https://colab.research.google.com/github/wandb/examples/blob/master/colabs/wandb-log/Log_(Almost)_Anything_with_W%26B_Media.ipynb).\n",
- "\n",
- "These methods can be used together or independently.\n",
- "\n",
- "The example below demonstrates how they can be used together."
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# 🧹 Running a hyperparameter sweep with W&B and Ray/Tune"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 📥 Install, `import`, and set seeds"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "Let's start by installing the libraries and importing everything we need.\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "!pip install -Uq ray[tune] wandb"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import random\n",
- "import numpy as np\n",
- "from ray import tune\n",
- "from ray.air.integrations.wandb import WandbLoggerCallback, setup_wandb\n",
- "import torch\n",
- "import torch.optim as optim\n",
- "import wandb"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "wandb.login()"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We'll make use of Ray's handy [`mnist_pytorch` example code](https://github.com/ray-project/ray/blob/master/python/ray/tune/examples/mnist_pytorch.py)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from ray.tune.examples.mnist_pytorch import ConvNet, get_data_loaders, test, train"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In order to make this experiment reproducible, we'll set the seeds for random number generators of various libraries used in this experiment."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "torch.backends.cudnn.deterministic = True\n",
- "random.seed(2022)\n",
- "np.random.seed(2022)\n",
- "torch.manual_seed(2022)\n",
- "torch.cuda.manual_seed_all(2022)"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 🤝 Integrating W&B with Ray/Tune"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now, we define our training process, decorated with `@wandb_mixin` so we can call `wandb.log` to log our custom metric\n",
- "(here, just the error rate; you might also [log media](https://docs.wandb.com/library/log#media), e.g. images from the validation set, captioned by the model predictions).\n",
- "\n",
- "When we execute our hyperparameter sweep below,\n",
- "this function will be called with a `config`uration dictionary\n",
- "that contains values for any hyperparameters.\n",
- "For simplicity, we only have two hyperparameters here:\n",
- "the learning rate and momentum value for accelerated SGD."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "def train_mnist(config):\n",
- " # Setup wandb\n",
- " wandb = setup_wandb(config)\n",
- " device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
- " train_loader, test_loader = get_data_loaders()\n",
- "\n",
- " model = ConvNet()\n",
- " model.to(device)\n",
- "\n",
- " optimizer = optim.SGD(model.parameters(),\n",
- " lr=config[\"lr\"], momentum=config[\"momentum\"])\n",
- " \n",
- " for i in range(10):\n",
- " train(model, optimizer, train_loader, device=device)\n",
- " acc = test(model, test_loader, device=device)\n",
- "\n",
- " # When using WandbLoggerCallback, the metrics reported to tune are also logged in the W&B dashboard\n",
- " tune.report(mean_accuracy=acc)\n",
- "\n",
- " # enables logging custom metrics using wandb.log()\n",
- " error_rate = 100 * (1 - acc)\n",
- " wandb.log({\"error_rate\": error_rate})"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 🚀 Launching a Sweep with W&B and Ray/Tune"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We're now almost ready to call `tune.run` to launch our hyperparameter sweep!\n",
- "We just need to do three things:\n",
- "1. set up a `wandb.Run`,\n",
- "2. give the `WandbLoggerCallback` to `tune.run` so we can capture the output of `tune.report`, and\n",
- "3. set up our hyperparameter sweep.\n",
- "\n",
- "A `wandb.Run` is normally created by calling `wandb.init`.\n",
- "`tune` will handle that for you, you just need to pass\n",
- "the arguments as a dictionary\n",
- "(see [our documentation](https://docs.wandb.com/library/init) for details on `wandb.init`).\n",
- "At the bare minimum, you need to pass in a `project` name --\n",
- "sort of like a `git` repo name, but for your ML projects.\n",
- "\n",
- "In addition to holding arguments for `wandb.init`,\n",
- "that dictionary also has a few special keys, described in\n",
- "[the documentation for the `WandbLoggerCallback`](https://docs.ray.io/en/master/tune/tutorials/tune-wandb.html)."
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We handle steps 2 and 3 when we invoke `tune.run`.\n",
- "\n",
- "Step 2 is handled by passing in the `WandbLoggerCallback` class in a list\n",
- "to the `loggers` argument of `tune.run`.\n",
- "\n",
- "The setup of the hyperparameter sweep is handled by the\n",
- "`config` argument of `tune.run`.\n",
- "For the purposes of the integration,\n",
- "the most important part is that this is where we pass in the `wandb_init`\n",
- "dictionary.\n",
- "\n",
- "This is also where we configure the \"meat\" of the hyperparameter sweep:\n",
- "what are the hyperparameters we're sweeping over,\n",
- "and how do we choose their values.\n",
- "\n",
- "Here, we do a simple grid search, but\n",
- "[Ray/Tune provides lots of sophisticated options](https://docs.ray.io/en/latest/tune/api_docs/suggestion.html)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "analysis = tune.run(\n",
- " train_mnist,\n",
- " callbacks=[WandbLoggerCallback(project=\"raytune-colab\")], # WandbLoggerCallback uses tune.run's logger interface\n",
- " resources_per_trial={\"gpu\": 1},\n",
- " config={\n",
- " # hyperparameters are set by keyword arguments\n",
- " \"lr\": tune.grid_search([0.0001, 0.001, 0.1]),\n",
- " \"momentum\": tune.grid_search([0.9, 0.99])\n",
- " }\n",
- " )\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "print(\"Best config: \", analysis.get_best_config(metric=\"mean_accuracy\", mode=\"max\"))"
- ]
- }
- ],
- "metadata": {
- "accelerator": "GPU",
- "colab": {
- "include_colab_link": true,
- "provenance": [],
- "toc_visible": true
- },
- "kernelspec": {
- "display_name": "Python 3",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
+ "nbformat": 4,
+ "nbformat_minor": 0
}
diff --git a/colabs/raytune/tune-wandb.ipynb b/colabs/raytune/tune-wandb.ipynb
index dd141d2c..f35865f7 100644
--- a/colabs/raytune/tune-wandb.ipynb
+++ b/colabs/raytune/tune-wandb.ipynb
@@ -2,6 +2,7 @@
"cells": [
{
"cell_type": "markdown",
+ "id": "91d48998",
"metadata": {},
"source": [
"\n"
@@ -9,7 +10,7 @@
},
{
"cell_type": "markdown",
- "id": "ecad719c",
+ "id": "b9c22142",
"metadata": {},
"source": [
"# Using Weights & Biases with Tune\n",
@@ -40,7 +41,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "3db798d0",
+ "id": "2969a4cb",
"metadata": {},
"outputs": [],
"source": [
@@ -50,7 +51,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "100bcf8a",
+ "id": "55026926",
"metadata": {},
"outputs": [],
"source": [
@@ -70,7 +71,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "1b4dcae4",
+ "id": "e40e6ca6",
"metadata": {},
"outputs": [],
"source": [
@@ -79,7 +80,7 @@
},
{
"cell_type": "markdown",
- "id": "9346c0f6",
+ "id": "1d6c8d04",
"metadata": {},
"source": [
"Next, let's define an easy `objective` function (a Tune `Trainable`) that reports a random loss to Tune.\n",
@@ -90,7 +91,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e8b4fc4d",
+ "id": "e6e75c5c",
"metadata": {},
"outputs": [],
"source": [
@@ -102,7 +103,7 @@
},
{
"cell_type": "markdown",
- "id": "831eed42",
+ "id": "ff78ca64",
"metadata": {},
"source": [
"Given that you provide an `api_key_file` pointing to your Weights & Biases API key, you cna define a\n",
@@ -112,7 +113,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "52988599",
+ "id": "494e1c84",
"metadata": {},
"outputs": [],
"source": [
@@ -141,7 +142,7 @@
},
{
"cell_type": "markdown",
- "id": "e24c05fa",
+ "id": "de9b195d",
"metadata": {},
"source": [
"To use the `wandb_mixin` decorator, you can simply decorate the objective function from earlier.\n",
@@ -152,7 +153,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "5e30d5e7",
+ "id": "e0275757",
"metadata": {},
"outputs": [],
"source": [
@@ -166,7 +167,7 @@
},
{
"cell_type": "markdown",
- "id": "04040bcb",
+ "id": "59c23cff",
"metadata": {},
"source": [
"With the `decorated_objective` defined, running a Tune experiment is as simple as providing this objective and\n",
@@ -176,7 +177,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "d4fbd368",
+ "id": "e4d408df",
"metadata": {},
"outputs": [],
"source": [
@@ -201,7 +202,7 @@
},
{
"cell_type": "markdown",
- "id": "f9521481",
+ "id": "6565559f",
"metadata": {},
"source": [
"Finally, you can also define a class-based Tune `Trainable` by using the `WandbTrainableMixin` to define your objective:"
@@ -210,7 +211,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "d27a7a35",
+ "id": "1b140b28",
"metadata": {},
"outputs": [],
"source": [
@@ -224,7 +225,7 @@
},
{
"cell_type": "markdown",
- "id": "fa189bb2",
+ "id": "cc42d1a4",
"metadata": {},
"source": [
"Running Tune with this `WandbTrainable` works exactly the same as with the function API.\n",
@@ -235,7 +236,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "6e546cc2",
+ "id": "e2782ef4",
"metadata": {},
"outputs": [],
"source": [
@@ -260,7 +261,7 @@
},
{
"cell_type": "markdown",
- "id": "0b736172",
+ "id": "58d4914b",
"metadata": {},
"source": [
"Since you may not have an API key for Wandb, we can _mock_ the Wandb logger and test all three of our training\n",
@@ -271,7 +272,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e0e7f481",
+ "id": "fecd85ed",
"metadata": {},
"outputs": [],
"source": [
@@ -302,7 +303,7 @@
},
{
"cell_type": "markdown",
- "id": "2f6e9138",
+ "id": "fbd9728a",
"metadata": {},
"source": [
"This completes our Tune and Wandb walk-through.\n",
diff --git a/colabs/rdkit/wb_rdkit.ipynb b/colabs/rdkit/wb_rdkit.ipynb
index d23c2b03..678a516c 100644
--- a/colabs/rdkit/wb_rdkit.ipynb
+++ b/colabs/rdkit/wb_rdkit.ipynb
@@ -41,7 +41,15 @@
"outputs": [],
"source": [
"\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/scikit/Simple_Scikit_Integration.ipynb b/colabs/scikit/Simple_Scikit_Integration.ipynb
index c5a35d54..f68bb555 100644
--- a/colabs/scikit/Simple_Scikit_Integration.ipynb
+++ b/colabs/scikit/Simple_Scikit_Integration.ipynb
@@ -91,8 +91,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/scikit/wandb_decision_tree.ipynb b/colabs/scikit/wandb_decision_tree.ipynb
new file mode 100644
index 00000000..d2d34873
--- /dev/null
+++ b/colabs/scikit/wandb_decision_tree.ipynb
@@ -0,0 +1,247 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "e6qvOYJV8BQw"
+ },
+ "source": [
+ "## Author: [@SauravMaheshkar](https://twitter.com/MaheshkarSaurav)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "BL5XadIr0MbM"
+ },
+ "source": [
+ "# Packages 📦 and Basic Setup\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "fZH0PUfw0OBV"
+ },
+ "source": [
+ "## Install Packages"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "_uk-bdosSzwk"
+ },
+ "outputs": [],
+ "source": [
+ "%%capture\n",
+ "## Install Sklearn\n",
+ "!pip install -U scikit-learn\n",
+ "## Install the latest version of wandb client 🔥🔥\n",
+ "!pip install -q --upgrade wandb"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "UgQLiLtz0STo"
+ },
+ "source": [
+ "## Project Configuration using **`wandb.config`**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "OvABqBlB0VhB"
+ },
+ "outputs": [],
+ "source": [
+ "import wandb\n",
+ "\n",
+ "## Importing Libraries\n",
+ "from sklearn.datasets import load_iris\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Initialize the run\n",
+ "run = wandb.init(project='simple-scikit')\n",
+ "\n",
+ "# Feel free to change these and experiment !!\n",
+ "config = wandb.config\n",
+ "config.max_depth = 5\n",
+ "config.min_samples_split = 2\n",
+ "config.clf_criterion = \"gini\"\n",
+ "config.reg_criterion = \"mse\"\n",
+ "config.splitter = \"best\"\n",
+ "config.dataset = \"iris\"\n",
+ "config.test_size = 0.2\n",
+ "config.random_state = 42\n",
+ "config.labels =['setosa', 'versicolor', 'virginica']\n",
+ "\n",
+ "# Update the config\n",
+ "wandb.config.update(config)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "OGV1c4VYJMGa"
+ },
+ "source": [
+ "# 💿 Dataset\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "lWnhwnPI2NWD"
+ },
+ "outputs": [],
+ "source": [
+ "## Loading the Dataset\n",
+ "iris = load_iris(return_X_y = True, as_frame= True)\n",
+ "dataset = iris[0]\n",
+ "target = iris[1]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "kycxKC7ER7lW"
+ },
+ "source": [
+ "# ✍️ Model Architecture\n",
+ "---"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "4wWuB4NZl3h_"
+ },
+ "source": [
+ "## Classification"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "vElZpyEQtXzX"
+ },
+ "outputs": [],
+ "source": [
+ "X, y = load_iris(return_X_y=True)\n",
+ "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = config.test_size, random_state = config.random_state)\n",
+ "\n",
+ "clf = DecisionTreeClassifier(\n",
+ " max_depth=config.max_depth,\n",
+ " min_samples_split=config.min_samples_split,\n",
+ " criterion=config.clf_criterion,\n",
+ " splitter=config.splitter\n",
+ ")\n",
+ "clf = clf.fit(x_train,y_train)\n",
+ "\n",
+ "y_pred = clf.predict(x_test)\n",
+ "\n",
+ "# Visualize Confustion Matrix\n",
+ "wandb.sklearn.plot_confusion_matrix(y_test, y_pred, config.labels)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "BX31c0s8MVu5"
+ },
+ "source": [
+ "## Regression"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "1kBLTtH4MbsY"
+ },
+ "outputs": [],
+ "source": [
+ "X, y = load_iris(return_X_y=True)\n",
+ "\n",
+ "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = config.test_size, random_state = config.random_state)\n",
+ "\n",
+ "reg = DecisionTreeRegressor(\n",
+ " max_depth=config.max_depth,\n",
+ " min_samples_split=config.min_samples_split,\n",
+ " criterion=config.reg_criterion,\n",
+ " splitter=config.splitter\n",
+ ")\n",
+ "\n",
+ "reg = reg.fit(x_train,y_train)\n",
+ "\n",
+ "# All regression plots\n",
+ "wandb.sklearn.plot_regressor(reg, x_train, x_test, y_train, y_test, model_name='DecisionTreeRegressor')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Finish the W&B Process\n",
+ "wandb.finish()"
+ ]
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "collapsed_sections": [
+ "bE1OZxeIwPqg",
+ "_N6qEF3cvIpN",
+ "_vdIezY_zb_9",
+ "OGV1c4VYJMGa",
+ "H8IIKXd0PFL8",
+ "kycxKC7ER7lW",
+ "4wWuB4NZl3h_",
+ "BX31c0s8MVu5",
+ "c6PoNscLNuog",
+ "3Cf152r2NK1M",
+ "a_HO0jHMyyyP",
+ "ahE27LgSzUVx",
+ "FaENg6O44dso",
+ "t3K1L5UWSZCL"
+ ],
+ "name": "Decision Trees",
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/colabs/simpletransformers/SimpleTransformersQA.ipynb b/colabs/simpletransformers/SimpleTransformersQA.ipynb
index f5e22c82..9ad3a6a8 100644
--- a/colabs/simpletransformers/SimpleTransformersQA.ipynb
+++ b/colabs/simpletransformers/SimpleTransformersQA.ipynb
@@ -115,10 +115,18 @@
"source": [
"import wandb\n",
"\n",
- "wandb.login()\n",
"wandb_project = \"SimpleTransformers-QA\""
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
diff --git a/colabs/spacy/SpaCy_v3_and_W&B.ipynb b/colabs/spacy/SpaCy_v3_and_W&B.ipynb
index 9ffe78a2..5435b742 100644
--- a/colabs/spacy/SpaCy_v3_and_W&B.ipynb
+++ b/colabs/spacy/SpaCy_v3_and_W&B.ipynb
@@ -103,7 +103,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/spacy/spaCy_v3_and_W&B_Sweeps.ipynb b/colabs/spacy/spaCy_v3_and_W&B_Sweeps.ipynb
index d4b3e561..e27a6e08 100644
--- a/colabs/spacy/spaCy_v3_and_W&B_Sweeps.ipynb
+++ b/colabs/spacy/spaCy_v3_and_W&B_Sweeps.ipynb
@@ -84,8 +84,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/stable_baselines3/Stable_Baselines3_wandb_experiment_tracking.ipynb b/colabs/stable_baselines3/Stable_Baselines3_wandb_experiment_tracking.ipynb
index 8d0103e9..943a8471 100644
--- a/colabs/stable_baselines3/Stable_Baselines3_wandb_experiment_tracking.ipynb
+++ b/colabs/stable_baselines3/Stable_Baselines3_wandb_experiment_tracking.ipynb
@@ -123,11 +123,6 @@
"\n",
"![](https://user-images.githubusercontent.com/5555347/122989248-97b5bd00-d370-11eb-95d6-52d56cfbce19.gif)"
]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": []
}
],
"metadata": {
diff --git a/colabs/stylegan_nada/StyleGAN-NADA.ipynb b/colabs/stylegan_nada/StyleGAN-NADA.ipynb
index 3dcb606b..8db2c1a9 100644
--- a/colabs/stylegan_nada/StyleGAN-NADA.ipynb
+++ b/colabs/stylegan_nada/StyleGAN-NADA.ipynb
@@ -81,7 +81,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/super-gradients/yolo_nas.ipynb b/colabs/super-gradients/yolo_nas.ipynb
index a79ad316..2c953fdf 100644
--- a/colabs/super-gradients/yolo_nas.ipynb
+++ b/colabs/super-gradients/yolo_nas.ipynb
@@ -359,12 +359,7 @@
]
}
],
- "metadata": {
- "language_info": {
- "name": "python"
- },
- "orig_nbformat": 4
- },
+ "metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
diff --git a/colabs/super-gradients/yolo_nas_data_analysis.ipynb b/colabs/super-gradients/yolo_nas_data_analysis.ipynb
new file mode 100644
index 00000000..e98425cf
--- /dev/null
+++ b/colabs/super-gradients/yolo_nas_data_analysis.ipynb
@@ -0,0 +1,438 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "SJenmP6BkY2V"
+ },
+ "outputs": [],
+ "source": [
+ "!sudo apt install libcairo2-dev pkg-config python3-dev -qq\n",
+ "!pip install roboflow pycairo wandb sweeps -qqq\n",
+ "!pip install super_gradients"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import os\n",
+ "import glob\n",
+ "import torch\n",
+ "import wandb\n",
+ "import warnings\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "from matplotlib import patches\n",
+ "from google.colab import userdata\n",
+ "from torchvision.io import read_image\n",
+ "from torch.utils.data import DataLoader\n",
+ "from super_gradients.training import models, dataloaders\n",
+ "from super_gradients.training.dataloaders.dataloaders import (\n",
+ " coco_detection_yolo_format_train, coco_detection_yolo_format_val\n",
+ ")\n",
+ "\n",
+ "warnings.filterwarnings(\"ignore\")\n",
+ "\n",
+ "os.environ[\"WANDB_API_KEY\"] = userdata.get('wandb')\n",
+ "os.environ[\"ROBOFLOW_API_KEY\"] = userdata.get('roboflow')"
+ ],
+ "metadata": {
+ "id": "zxmwpTBzpd-d"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from roboflow import Roboflow\n",
+ "rf = Roboflow(api_key=os.getenv(\"ROBOFLOW_API_KEY\"))\n",
+ "project = rf.workspace(\"easyhyeon\").project(\"trash-sea\")\n",
+ "dataset = project.version(10).download(\"yolov5\")"
+ ],
+ "metadata": {
+ "id": "77XdRx8rpfqQ"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "DATASET_PATH = \"/content/trash-sea-10\"\n",
+ "WANDB_PROJECT_NAME = \"fconn-yolo-nas\"\n",
+ "ENTITY = \"ml-colabs\""
+ ],
+ "metadata": {
+ "id": "8shwiGscpglK"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "dataset_params = {\n",
+ " 'data_dir':DATASET_PATH,\n",
+ " 'train_images_dir':'train/images',\n",
+ " 'train_labels_dir':'train/labels',\n",
+ " 'val_images_dir':'valid/images',\n",
+ " 'val_labels_dir':'valid/labels',\n",
+ " 'test_images_dir':'test/images',\n",
+ " 'test_labels_dir':'test/labels',\n",
+ " 'classes': [\"Buoy\", \"Can\", \"Paper\", \"Plastic Bag\", \"Plastic Bottle\"]\n",
+ "}"
+ ],
+ "metadata": {
+ "id": "13DJyeaIvKOf"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from IPython.display import clear_output\n",
+ "\n",
+ "train_data = coco_detection_yolo_format_train(\n",
+ " dataset_params={\n",
+ " 'data_dir': dataset_params['data_dir'],\n",
+ " 'images_dir': dataset_params['train_images_dir'],\n",
+ " 'labels_dir': dataset_params['train_labels_dir'],\n",
+ " 'classes': dataset_params['classes'],\n",
+ " },\n",
+ " dataloader_params={\n",
+ " 'batch_size':16,\n",
+ " 'num_workers':2\n",
+ " }\n",
+ ")\n",
+ "\n",
+ "val_data = coco_detection_yolo_format_val(\n",
+ " dataset_params={\n",
+ " 'data_dir': dataset_params['data_dir'],\n",
+ " 'images_dir': dataset_params['val_images_dir'],\n",
+ " 'labels_dir': dataset_params['val_labels_dir'],\n",
+ " 'classes': dataset_params['classes'],\n",
+ " },\n",
+ " dataloader_params={\n",
+ " 'batch_size':16,\n",
+ " 'num_workers':2\n",
+ " }\n",
+ ")\n",
+ "\n",
+ "test_data = coco_detection_yolo_format_val(\n",
+ " dataset_params={\n",
+ " 'data_dir': dataset_params['data_dir'],\n",
+ " 'images_dir': dataset_params['test_images_dir'],\n",
+ " 'labels_dir': dataset_params['test_labels_dir'],\n",
+ " 'classes': dataset_params['classes'],\n",
+ " },\n",
+ " dataloader_params={\n",
+ " 'batch_size':16,\n",
+ " 'num_workers':2\n",
+ " }\n",
+ ")\n",
+ "\n",
+ "train_data.dataset.transforms = train_data.dataset.transforms[5:]"
+ ],
+ "metadata": {
+ "id": "7EAeEm3xvS82"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "colors = {\n",
+ " 0: 'red',\n",
+ " 1: 'green',\n",
+ " 2: 'blue',\n",
+ " 3: 'yellow',\n",
+ " 4: 'black'\n",
+ "}\n",
+ "classes = {\n",
+ " 0:\"Buoy\",\n",
+ " 1:\"Can\",\n",
+ " 2:\"Paper\",\n",
+ " 3:\"Plastic Bag\",\n",
+ " 4:\"Plastic Bottle\"\n",
+ "}"
+ ],
+ "metadata": {
+ "id": "0XKew_u_vRxs"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def process_bounding_boxes_list(annots):\n",
+ " result = []\n",
+ "\n",
+ " class_count = {i:0 for i in range(0, 5)}\n",
+ "\n",
+ " for annot_idx, annotation in enumerate(annots):\n",
+ " class_count[int(annotation[1])] += 1\n",
+ " result.append({\n",
+ " \"position\":{\n",
+ " \"middle\":[float(annotation[2]), float(annotation[3])],\n",
+ " \"width\":float(annotation[4]),\n",
+ " \"height\":float(annotation[5])\n",
+ " },\n",
+ " \"domain\":\"pixel\",\n",
+ " \"class_id\":int(annotation[1]),\n",
+ " \"box_caption\":classes[int(annotation[1])]\n",
+ " })\n",
+ "\n",
+ " return result, class_count\n",
+ "\n",
+ "def populate_wandb_image_samples(train_data):\n",
+ " wandb.init(\n",
+ " project=WANDB_PROJECT_NAME,\n",
+ " entity=ENTITY,\n",
+ " id='add-image-samples',\n",
+ " job_type=\"add-tables\",\n",
+ " resume='allow'\n",
+ " )\n",
+ "\n",
+ " class_set = wandb.Classes(\n",
+ " [\n",
+ " {\"name\": \"Buoy\", \"id\": 0},\n",
+ " {\"name\": \"Can\", \"id\": 1},\n",
+ " {\"name\": \"Paper\", \"id\": 2},\n",
+ " {\"name\": \"Plastic Bag\", \"id\": 3},\n",
+ " {\"name\": \"Plastic Bottle\", \"id\": 4},\n",
+ " ]\n",
+ " )\n",
+ "\n",
+ " table = wandb.Table(\n",
+ " columns=[\n",
+ " \"Annotated-Image\", \"Number-of-objects\",\n",
+ " \"Number-Buoy\", \"Number-Can\", \"Number-Paper\",\n",
+ " \"Number-Plastic-Bag\", \"Number-Plastic-Bottle\"\n",
+ " ]\n",
+ " )\n",
+ "\n",
+ " img_count = 0\n",
+ "\n",
+ " for batch_idx, batch_sample in enumerate(train_data):\n",
+ " batch_images = batch_sample[0]\n",
+ " batch_annotations = batch_sample[1]\n",
+ "\n",
+ " annots_dict = {i:[] for i in range(0, batch_images.shape[0])}\n",
+ " for annot in batch_annotations:\n",
+ " annots_dict[int(annot[0])].append(annot)\n",
+ "\n",
+ " for idx, image in enumerate(batch_images):\n",
+ "\n",
+ " bbox, class_count = process_bounding_boxes_list(annots_dict[idx])\n",
+ "\n",
+ " image = image.flip(0)\n",
+ "\n",
+ " img = wandb.Image(\n",
+ " image,\n",
+ " boxes={\n",
+ " \"ground_truth\":{\n",
+ " \"box_data\":bbox,\n",
+ " \"class_labels\": classes,\n",
+ " }\n",
+ " },\n",
+ " classes=class_set,\n",
+ " )\n",
+ "\n",
+ " table.add_data(img, len(bbox), class_count[0],\n",
+ " class_count[1], class_count[2],\n",
+ " class_count[3], class_count[4])\n",
+ " img_count += 1\n",
+ "\n",
+ " print(f\"{img_count}/{len(train_data)*16} completed\")\n",
+ "\n",
+ " wandb.log({\"ground_truth_dataset\": table})\n",
+ " wandb.finish()\n",
+ "\n",
+ "populate_wandb_image_samples(train_data)"
+ ],
+ "metadata": {
+ "id": "ncYSU2svvd-B"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def process_bounding_boxes_list(annots):\n",
+ " result = []\n",
+ "\n",
+ " class_count = {i:0 for i in range(0, 5)}\n",
+ "\n",
+ " for annot_idx, annotation in enumerate(annots):\n",
+ " class_count[int(annotation[1])] += 1\n",
+ " result.append({\n",
+ " \"position\":{\n",
+ " \"middle\":[float(annotation[2]), float(annotation[3])],\n",
+ " \"width\":float(annotation[4]),\n",
+ " \"height\":float(annotation[5])\n",
+ " },\n",
+ " \"domain\":\"pixel\",\n",
+ " \"class_id\":int(annotation[1]),\n",
+ " \"box_caption\":classes[int(annotation[1])]\n",
+ " })\n",
+ "\n",
+ " return result, class_count\n",
+ "\n",
+ "def populate_wandb_bbox(train_data):\n",
+ " wandb.init(\n",
+ " project=WANDB_PROJECT_NAME,\n",
+ " entity=ENTITY,\n",
+ " id='add-bbox-data',\n",
+ " job_type=\"add-tables\",\n",
+ " resume='allow'\n",
+ " )\n",
+ "\n",
+ " class_set = wandb.Classes(\n",
+ " [\n",
+ " {\"name\": \"Buoy\", \"id\": 0},\n",
+ " {\"name\": \"Can\", \"id\": 1},\n",
+ " {\"name\": \"Paper\", \"id\": 2},\n",
+ " {\"name\": \"Plastic Bag\", \"id\": 3},\n",
+ " {\"name\": \"Plastic Bottle\", \"id\": 4},\n",
+ " ]\n",
+ " )\n",
+ "\n",
+ " table = wandb.Table(\n",
+ " columns=[\n",
+ " \"Image-Id\",\n",
+ " \"BBox-Height\",\n",
+ " \"BBox-Width\",\n",
+ " \"Class-Id\"\n",
+ " ]\n",
+ " )\n",
+ "\n",
+ " img_count = 0\n",
+ "\n",
+ " for batch_idx, batch_sample in enumerate(train_data):\n",
+ " batch_images = batch_sample[0]\n",
+ " batch_annotations = batch_sample[1]\n",
+ "\n",
+ " annots_dict = {i:[] for i in range(0, batch_images.shape[0])}\n",
+ " for annot in batch_annotations:\n",
+ " annots_dict[int(annot[0])].append(annot)\n",
+ "\n",
+ " for idx, image in enumerate(batch_images):\n",
+ "\n",
+ " result, class_count = process_bounding_boxes_list(annots_dict[idx])\n",
+ "\n",
+ " for bbox in result:\n",
+ " height = bbox[\"position\"][\"height\"]\n",
+ " width = bbox[\"position\"][\"width\"]\n",
+ " class_id = bbox[\"class_id\"]\n",
+ " table.add_data(img_count, height, width, classes[class_id])\n",
+ "\n",
+ " img_count += 1\n",
+ "\n",
+ " print(f\"{img_count}/{len(train_data)*16} completed\")\n",
+ "\n",
+ " wandb.log({\"bounding_box_information\": table})\n",
+ " wandb.finish()\n",
+ "\n",
+ "populate_wandb_bbox(train_data)"
+ ],
+ "metadata": {
+ "id": "-8W-zcs9vh93"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def populate_wandb_spatial_heatmaps(train_data):\n",
+ " wandb.init(\n",
+ " project=WANDB_PROJECT_NAME,\n",
+ " entity=ENTITY,\n",
+ " id='add-heatmap',\n",
+ " job_type=\"add-tables\",\n",
+ " resume='allow'\n",
+ " )\n",
+ "\n",
+ " class_set = wandb.Classes(\n",
+ " [\n",
+ " {\"name\": \"Buoy\", \"id\": 0},\n",
+ " {\"name\": \"Can\", \"id\": 1},\n",
+ " {\"name\": \"Paper\", \"id\": 2},\n",
+ " {\"name\": \"Plastic Bag\", \"id\": 3},\n",
+ " {\"name\": \"Plastic Bottle\", \"id\": 4},\n",
+ " ]\n",
+ " )\n",
+ " heatmaps = [np.zeros((224, 224, 1), dtype=np.float32) for _ in classes]\n",
+ " annotation_counts = {i:0 for i in range(len(classes))}\n",
+ "\n",
+ " table = wandb.Table(columns=[\"Class-Id\", \"Class-Name\", \"Spatial-Heatmap\",\n",
+ " \"Num-Total-Objects\"])\n",
+ "\n",
+ " for batch_idx, batch_sample in enumerate(train_data):\n",
+ " batch_images = batch_sample[0]\n",
+ " batch_annotations = batch_sample[1]\n",
+ "\n",
+ " annots_dict = {i:[] for i in range(0, batch_images.shape[0])}\n",
+ "\n",
+ " for annot in batch_annotations:\n",
+ " class_idx = int(annot[1])\n",
+ "\n",
+ " midpoint_x = int(annot[2])\n",
+ " midpoint_y = int(annot[3])\n",
+ " width = int(annot[4])\n",
+ " height = int(annot[5])\n",
+ "\n",
+ " x_min = midpoint_x - (width//2)\n",
+ " x_max = midpoint_x + (width//2)\n",
+ "\n",
+ " y_min = midpoint_y - (height//2)\n",
+ " y_max = midpoint_y + (height//2)\n",
+ "\n",
+ " heatmaps[class_idx][y_min:y_max, x_min:x_max] += 1\n",
+ "\n",
+ " annotation_counts[class_idx] += 1\n",
+ "\n",
+ " print(f\"{batch_idx+1}/{len(train_data)} batches completed\")\n",
+ "\n",
+ " for class_idx in range(len(classes)):\n",
+ " heatmap = wandb.Image(\n",
+ " heatmaps[class_idx],\n",
+ " caption=classes[class_idx]\n",
+ " )\n",
+ " table.add_data(class_idx, classes[class_idx], heatmap, annotation_counts[class_idx])\n",
+ "\n",
+ " wandb.log({\"spatial_heatmap_information\": table})\n",
+ " wandb.finish()\n",
+ "\n",
+ "populate_wandb_spatial_heatmaps(train_data)"
+ ],
+ "metadata": {
+ "id": "AaN1pUvJvqjA"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/colabs/super-gradients/yolo_nas_sweep_run.ipynb b/colabs/super-gradients/yolo_nas_sweep_run.ipynb
new file mode 100644
index 00000000..93ab971c
--- /dev/null
+++ b/colabs/super-gradients/yolo_nas_sweep_run.ipynb
@@ -0,0 +1,345 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Installation and Imports"
+ ],
+ "metadata": {
+ "id": "Fe3Dp6NDzPyr"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "KXwTjgsFkZnm"
+ },
+ "outputs": [],
+ "source": [
+ "!sudo apt install libcairo2-dev pkg-config python3-dev -qq\n",
+ "!pip install roboflow pycairo wandb sweeps -qqq\n",
+ "!pip install super_gradients"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import os\n",
+ "import glob\n",
+ "import torch\n",
+ "import wandb\n",
+ "import warnings\n",
+ "import pandas as pd\n",
+ "\n",
+ "from google.colab import userdata\n",
+ "from torchvision.io import read_image\n",
+ "from torch.utils.data import DataLoader\n",
+ "from IPython.display import clear_output\n",
+ "\n",
+ "from super_gradients.training import models, Trainer, dataloaders\n",
+ "from super_gradients.training.losses import PPYoloELoss\n",
+ "from super_gradients.training.metrics import DetectionMetrics_050\n",
+ "from super_gradients.training.models.detection_models.pp_yolo_e import PPYoloEPostPredictionCallback\n",
+ "from super_gradients.training.dataloaders.dataloaders import coco_detection_yolo_format_train, coco_detection_yolo_format_val\n",
+ "\n",
+ "os.environ[\"WANDB_API_KEY\"] = userdata.get('wandb')\n",
+ "os.environ[\"ROBOFLOW_API_KEY\"] = userdata.get('roboflow')"
+ ],
+ "metadata": {
+ "id": "PpsF3k8awWbP"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Definitions"
+ ],
+ "metadata": {
+ "id": "qRjY7eYPzScK"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "seed = 42\n",
+ "torch.manual_seed(seed)\n",
+ "\n",
+ "if torch.cuda.is_available():\n",
+ " torch.cuda.manual_seed(seed)\n",
+ " torch.cuda.manual_seed_all(seed)\n",
+ "\n",
+ "torch.backends.cudnn.deterministic = True\n",
+ "torch.backends.cudnn.benchmark = False"
+ ],
+ "metadata": {
+ "id": "nVJIsdFOwXX2"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Download and Register dataset"
+ ],
+ "metadata": {
+ "id": "FhcF4opozT8c"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from roboflow import Roboflow\n",
+ "rf = Roboflow(api_key=os.getenv(\"ROBOFLOW_API_KEY\"))\n",
+ "project = rf.workspace(\"easyhyeon\").project(\"trash-sea\")\n",
+ "dataset = project.version(10).download(\"yolov5\")"
+ ],
+ "metadata": {
+ "id": "BcSFy0iewaJM"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "ENTITY = \"ml-colabs\"\n",
+ "SWEEP_NUM_RUNS = 100\n",
+ "WANDB_PROJECT_NAME = \"fconn-yolo-nas\"\n",
+ "DATASET_PATH = \"/content/trash-sea-10\""
+ ],
+ "metadata": {
+ "id": "QIjvNsTowbKO"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Define Sweep Configuration and functions"
+ ],
+ "metadata": {
+ "id": "VO0p4iM0zW1N"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "sweep_configuration = {\n",
+ " \"name\": WANDB_EXP_NAME,\n",
+ " \"metric\": {\"name\": \"Valid_mAP@0.50\", \"goal\": \"maximize\"},\n",
+ " \"method\": \"bayes\",\n",
+ " \"parameters\": {\n",
+ " \"batch_size\": {\"values\": [16, 24, 32]},\n",
+ " \"optimizer\": {\"values\": [\"Adam\", \"SGD\", \"RMSProp\", \"AdamW\"]},\n",
+ " \"ema_decay\": {\"min\":0.5, \"max\":0.9},\n",
+ " \"ema_decay_type\": {\"values\": [\"constant\", \"threshold\"]},\n",
+ " \"cosine_lr_ratio\": {\"min\": 0.01, \"max\": 0.4},\n",
+ " \"iou_loss_weight\": {\"min\": 0.25, \"max\": 2.0},\n",
+ " \"dfl_loss_weight\": {\"min\": 0.25, \"max\": 2.0},\n",
+ " \"classification_loss_weight\": {\"min\": 0.25, \"max\": 2.0},\n",
+ " \"model_flavor\": {\"values\": [\"yolo_nas_s\", \"yolo_nas_m\", \"yolo_nas_l\"]},\n",
+ " \"weight_decay\": {\"min\": 0.0001, \"max\": 0.01},\n",
+ " },\n",
+ "}"
+ ],
+ "metadata": {
+ "id": "8kMUNQ6HwoFa"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "def main_call():\n",
+ "\n",
+ " CHECKPOINT_DIR = 'checkpoints'\n",
+ "\n",
+ " wandb.init(\n",
+ " project=WANDB_PROJECT_NAME,\n",
+ " entity=ENTITY,\n",
+ " resume=\"allow\",\n",
+ " save_code=True,\n",
+ " id=WANDB_EXP_NAME\n",
+ " )\n",
+ "\n",
+ " config = wandb.config\n",
+ "\n",
+ " dataset_params = {\n",
+ " 'data_dir':DATASET_PATH,\n",
+ " 'train_images_dir':'train/images',\n",
+ " 'train_labels_dir':'train/labels',\n",
+ " 'val_images_dir':'valid/images',\n",
+ " 'val_labels_dir':'valid/labels',\n",
+ " 'test_images_dir':'test/images',\n",
+ " 'test_labels_dir':'test/labels',\n",
+ " 'classes': [\"Buoy\", \"Can\", \"Paper\", \"Plastic Bag\", \"Plastic Bottle\"]\n",
+ " }\n",
+ "\n",
+ " train_data = coco_detection_yolo_format_train(\n",
+ " dataset_params={\n",
+ " 'data_dir': dataset_params['data_dir'],\n",
+ " 'images_dir': dataset_params['train_images_dir'],\n",
+ " 'labels_dir': dataset_params['train_labels_dir'],\n",
+ " 'classes': dataset_params['classes'],\n",
+ " },\n",
+ " dataloader_params={\n",
+ " 'batch_size':config[\"batch_size\"],\n",
+ " 'num_workers':4\n",
+ " }\n",
+ " )\n",
+ "\n",
+ " val_data = coco_detection_yolo_format_val(\n",
+ " dataset_params={\n",
+ " 'data_dir': dataset_params['data_dir'],\n",
+ " 'images_dir': dataset_params['val_images_dir'],\n",
+ " 'labels_dir': dataset_params['val_labels_dir'],\n",
+ " 'classes': dataset_params['classes'],\n",
+ " },\n",
+ " dataloader_params={\n",
+ " 'batch_size':config[\"batch_size\"],\n",
+ " 'num_workers':4\n",
+ " }\n",
+ " )\n",
+ "\n",
+ " test_data = coco_detection_yolo_format_val(\n",
+ " dataset_params={\n",
+ " 'data_dir': dataset_params['data_dir'],\n",
+ " 'images_dir': dataset_params['test_images_dir'],\n",
+ " 'labels_dir': dataset_params['test_labels_dir'],\n",
+ " 'classes': dataset_params['classes'],\n",
+ " },\n",
+ " dataloader_params={\n",
+ " 'batch_size':config[\"batch_size\"],\n",
+ " 'num_workers':4\n",
+ " }\n",
+ " )\n",
+ "\n",
+ " train_data.dataset.transforms = train_data.dataset.transforms[1:]\n",
+ "\n",
+ " model = models.get(\n",
+ " config[\"model_flavor\"],\n",
+ " num_classes=len(dataset_params['classes']),\n",
+ " pretrained_weights=\"coco\"\n",
+ " )\n",
+ "\n",
+ " train_params = {\n",
+ " 'silent_mode': False,\n",
+ " \"average_best_models\":True,\n",
+ " \"warmup_mode\": \"linear_epoch_step\",\n",
+ " \"warmup_initial_lr\": 1e-6,\n",
+ " \"lr_warmup_epochs\": 3,\n",
+ " \"initial_lr\": 1e-3,\n",
+ " \"lr_mode\": \"cosine\",\n",
+ " \"cosine_final_lr_ratio\": config[\"cosine_lr_ratio\"],\n",
+ " \"optimizer\": config[\"optimizer\"],\n",
+ " \"optimizer_params\": {\n",
+ " \"weight_decay\": config[\"weight_decay\"]\n",
+ " },\n",
+ " \"zero_weight_decay_on_bias_and_bn\": True,\n",
+ " \"ema\": True,\n",
+ " \"ema_params\": {\n",
+ " \"decay\": config[\"ema_decay\"],\n",
+ " \"decay_type\": config[\"ema_decay_type\"]\n",
+ " },\n",
+ " \"max_epochs\": 5,\n",
+ " \"mixed_precision\": False,\n",
+ " \"loss\": PPYoloELoss(\n",
+ " use_static_assigner=False,\n",
+ " num_classes=len(dataset_params['classes']),\n",
+ " reg_max=16,\n",
+ " iou_loss_weight=config[\"iou_loss_weight\"],\n",
+ " dfl_loss_weight=config[\"dfl_loss_weight\"],\n",
+ " classification_loss_weight=config[\"classification_loss_weight\"]\n",
+ " ),\n",
+ " \"valid_metrics_list\": [\n",
+ " DetectionMetrics_050(\n",
+ " score_thres=0.1,\n",
+ " top_k_predictions=300,\n",
+ " num_cls=len(dataset_params['classes']),\n",
+ " normalize_targets=True,\n",
+ " post_prediction_callback=PPYoloEPostPredictionCallback(\n",
+ " score_threshold=0.01,\n",
+ " nms_top_k=1000,\n",
+ " max_predictions=300,\n",
+ " nms_threshold=0.7\n",
+ " )\n",
+ " )\n",
+ " ],\n",
+ " \"metric_to_watch\": 'mAP@0.50',\n",
+ " \"sg_logger\": \"wandb_sg_logger\",\n",
+ " \"sg_logger_params\": {\n",
+ " \"project_name\": WANDB_PROJECT_NAME,\n",
+ " \"save_checkpoints_remote\": True,\n",
+ " \"save_tensorboard_remote\": True,\n",
+ " \"save_logs_remote\": True,\n",
+ " \"entity\": ENTITY\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " trainer = Trainer(\n",
+ " experiment_name=WANDB_EXP_NAME,\n",
+ " ckpt_root_dir=CHECKPOINT_DIR\n",
+ " )\n",
+ "\n",
+ " trainer.train(\n",
+ " model=model,\n",
+ " training_params=train_params,\n",
+ " train_loader=train_data,\n",
+ " valid_loader=val_data\n",
+ " )\n",
+ "\n",
+ " wandb.finish()"
+ ],
+ "metadata": {
+ "id": "nnZzxVmEwb-U"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Execute Sweep"
+ ],
+ "metadata": {
+ "id": "3Xp0UU73zajw"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "sweep_id = wandb.sweep(\n",
+ " sweep=sweep_configuration,\n",
+ " project=\"yolo-nas-sweep\"\n",
+ ")\n",
+ "\n",
+ "wandb.agent(sweep_id, function=main_call, count=SWEEP_NUM_RUNS)"
+ ],
+ "metadata": {
+ "id": "9r6LrkhQwxdA"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/colabs/tables/AlphaFold_with_W&B_Align,_Fold,_Log.ipynb b/colabs/tables/AlphaFold_with_W&B_Align,_Fold,_Log.ipynb
index fce4e1f3..ceb8e2c6 100644
--- a/colabs/tables/AlphaFold_with_W&B_Align,_Fold,_Log.ipynb
+++ b/colabs/tables/AlphaFold_with_W&B_Align,_Fold,_Log.ipynb
@@ -89,8 +89,15 @@
"outputs": [],
"source": [
"# now run this cell (again by pressing the play button)\n",
- "# to log in to Weights & Biases (by following any prompts)\n",
- "\n",
+ "# to log in to Weights & Biases (by following any prompts)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/tables/Log_Tables_Incrementally.ipynb b/colabs/tables/Log_Tables_Incrementally.ipynb
index fdb44e7b..ab826995 100644
--- a/colabs/tables/Log_Tables_Incrementally.ipynb
+++ b/colabs/tables/Log_Tables_Incrementally.ipynb
@@ -38,8 +38,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/tables/W&B_Tables_Quickstart.ipynb b/colabs/tables/W&B_Tables_Quickstart.ipynb
index 8814ca0a..185c4766 100644
--- a/colabs/tables/W&B_Tables_Quickstart.ipynb
+++ b/colabs/tables/W&B_Tables_Quickstart.ipynb
@@ -46,7 +46,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/tensorboard/Accelerator_W&B_Tensorboard.ipynb b/colabs/tensorboard/Accelerator_W&B_Tensorboard.ipynb
index 5f8806be..f6c28aac 100644
--- a/colabs/tensorboard/Accelerator_W&B_Tensorboard.ipynb
+++ b/colabs/tensorboard/Accelerator_W&B_Tensorboard.ipynb
@@ -88,7 +88,15 @@
"source": [
"import wandb\n",
"\n",
- "# log to Weights and biases\n",
+ "# log to Weights and biases"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/tensorboard/TensorBoard_and_Weights_and_Biases.ipynb b/colabs/tensorboard/TensorBoard_and_Weights_and_Biases.ipynb
index 0bb947f4..c3f953b5 100644
--- a/colabs/tensorboard/TensorBoard_and_Weights_and_Biases.ipynb
+++ b/colabs/tensorboard/TensorBoard_and_Weights_and_Biases.ipynb
@@ -152,13 +152,6 @@
"\n",
"You can find additional documentation of how to use [Weights & Biases with Tensorboard here](https://docs.wandb.ai/guides/integrations/tensorboard)"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/tensorflow/Hyperparameter_Optimization_in_TensorFlow_using_W&B_Sweeps.ipynb b/colabs/tensorflow/Hyperparameter_Optimization_in_TensorFlow_using_W&B_Sweeps.ipynb
index bec47201..d45de2a0 100644
--- a/colabs/tensorflow/Hyperparameter_Optimization_in_TensorFlow_using_W&B_Sweeps.ipynb
+++ b/colabs/tensorflow/Hyperparameter_Optimization_in_TensorFlow_using_W&B_Sweeps.ipynb
@@ -141,8 +141,15 @@
"outputs": [],
"source": [
"import wandb\n",
- "from wandb.keras import WandbCallback\n",
- "\n",
+ "from wandb.keras import WandbCallback\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/tensorflow/Simple_TensorFlow_Integration.ipynb b/colabs/tensorflow/Simple_TensorFlow_Integration.ipynb
index 70313d0d..a42a5a0c 100644
--- a/colabs/tensorflow/Simple_TensorFlow_Integration.ipynb
+++ b/colabs/tensorflow/Simple_TensorFlow_Integration.ipynb
@@ -136,8 +136,15 @@
"outputs": [],
"source": [
"import wandb\n",
- "from wandb.keras import WandbCallback\n",
- "\n",
+ "from wandb.keras import WandbCallback\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/tensorflow/convert_imagenette_tfrecord.ipynb b/colabs/tensorflow/convert_imagenette_tfrecord.ipynb
index cb82bc7d..36503727 100644
--- a/colabs/tensorflow/convert_imagenette_tfrecord.ipynb
+++ b/colabs/tensorflow/convert_imagenette_tfrecord.ipynb
@@ -264,13 +264,6 @@
"source": [
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/ultralytics/00_inference.ipynb b/colabs/ultralytics/00_inference.ipynb
index 7814eed7..684762db 100644
--- a/colabs/ultralytics/00_inference.ipynb
+++ b/colabs/ultralytics/00_inference.ipynb
@@ -37,12 +37,8 @@
"metadata": {},
"outputs": [],
"source": [
- "# Install Ultralytics\n",
- "!pip install -q ultralytics\n",
- "\n",
- "# Install the `feat/ultralytics`` branch from W&B,\n",
- "# which currently houses the out-of-the-box integration for Ultralytics.\n",
- "!pip install -q git+https://github.com/wandb/wandb@feat/ultralytics"
+ "# Install WandB and Ultralytics\n",
+ "!pip install -q -U wandb ultralytics"
]
},
{
@@ -153,8 +149,7 @@
"metadata": {
"language_info": {
"name": "python"
- },
- "orig_nbformat": 4
+ }
},
"nbformat": 4,
"nbformat_minor": 2
diff --git a/colabs/ultralytics/01_train_val.ipynb b/colabs/ultralytics/01_train_val.ipynb
index 22021e16..463d9559 100644
--- a/colabs/ultralytics/01_train_val.ipynb
+++ b/colabs/ultralytics/01_train_val.ipynb
@@ -30,12 +30,8 @@
"metadata": {},
"outputs": [],
"source": [
- "# Install Ultralytics\n",
- "!pip install -q ultralytics\n",
- "\n",
- "# Install the `feat/ultralytics`` branch from W&B,\n",
- "# which currently houses the out-of-the-box integration for Ultralytics.\n",
- "!pip install -q git+https://github.com/wandb/wandb@feat/ultralytics"
+ "# Install WandB and Ultralytics\n",
+ "!pip install -q -U wandb ultralytics"
]
},
{
@@ -142,8 +138,7 @@
"metadata": {
"language_info": {
"name": "python"
- },
- "orig_nbformat": 4
+ }
},
"nbformat": 4,
"nbformat_minor": 2
diff --git a/colabs/wandb-artifacts/Artifacts_Quickstart_with_W&B.ipynb b/colabs/wandb-artifacts/Artifacts_Quickstart_with_W&B.ipynb
index a18817ac..abfd131b 100644
--- a/colabs/wandb-artifacts/Artifacts_Quickstart_with_W&B.ipynb
+++ b/colabs/wandb-artifacts/Artifacts_Quickstart_with_W&B.ipynb
@@ -126,7 +126,15 @@
"outputs": [],
"source": [
"!pip install wandb -qq\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-artifacts/Basic_Artifacts_with_W&B.ipynb b/colabs/wandb-artifacts/Basic_Artifacts_with_W&B.ipynb
index a5a6acf5..2a566b88 100644
--- a/colabs/wandb-artifacts/Basic_Artifacts_with_W&B.ipynb
+++ b/colabs/wandb-artifacts/Basic_Artifacts_with_W&B.ipynb
@@ -82,7 +82,15 @@
"outputs": [],
"source": [
"!pip install wandb -qq\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-artifacts/W&B_artifacts_for_auditing_purposes.ipynb b/colabs/wandb-artifacts/W&B_artifacts_for_auditing_purposes.ipynb
index 5818a0a7..c7ee4332 100644
--- a/colabs/wandb-artifacts/W&B_artifacts_for_auditing_purposes.ipynb
+++ b/colabs/wandb-artifacts/W&B_artifacts_for_auditing_purposes.ipynb
@@ -84,8 +84,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-artifacts/train_val_test_split_with_tabular_data.ipynb b/colabs/wandb-artifacts/train_val_test_split_with_tabular_data.ipynb
index e7375e69..a23c6672 100644
--- a/colabs/wandb-artifacts/train_val_test_split_with_tabular_data.ipynb
+++ b/colabs/wandb-artifacts/train_val_test_split_with_tabular_data.ipynb
@@ -60,7 +60,6 @@
"source": [
"!pip install --upgrade wandb -qqq\n",
"import wandb\n",
- "wandb.login()\n",
"\n",
"import random\n",
"from collections import OrderedDict\n",
@@ -90,6 +89,15 @@
"set_seeds(0)"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
diff --git a/colabs/wandb-log/Configs_in_W&B.ipynb b/colabs/wandb-log/Configs_in_W&B.ipynb
index 819736e4..67469509 100644
--- a/colabs/wandb-log/Configs_in_W&B.ipynb
+++ b/colabs/wandb-log/Configs_in_W&B.ipynb
@@ -47,7 +47,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-log/Customize_metric_logging_with_define_metric.ipynb b/colabs/wandb-log/Customize_metric_logging_with_define_metric.ipynb
index d9d4a932..0769958e 100644
--- a/colabs/wandb-log/Customize_metric_logging_with_define_metric.ipynb
+++ b/colabs/wandb-log/Customize_metric_logging_with_define_metric.ipynb
@@ -41,8 +41,15 @@
"source": [
"\n",
"import wandb\n",
- "import random\n",
- "\n",
+ "import random\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-log/Generate_gifs_from_logged_images_on_wandb.ipynb b/colabs/wandb-log/Generate_gifs_from_logged_images_on_wandb.ipynb
index 7c1c2f5e..5d69b6e6 100644
--- a/colabs/wandb-log/Generate_gifs_from_logged_images_on_wandb.ipynb
+++ b/colabs/wandb-log/Generate_gifs_from_logged_images_on_wandb.ipynb
@@ -46,7 +46,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -224,13 +232,6 @@
"run = api.run(RUN_PATH)\n",
"make_and_display_gifs(run)"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/wandb-log/Image_Logging_de_duplication.ipynb b/colabs/wandb-log/Image_Logging_de_duplication.ipynb
index 25af66a9..77d3e89d 100644
--- a/colabs/wandb-log/Image_Logging_de_duplication.ipynb
+++ b/colabs/wandb-log/Image_Logging_de_duplication.ipynb
@@ -80,13 +80,6 @@
"wandb.log({\"image\": img_1})\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/wandb-log/Log_a_Confusion_Matrix_with_W&B.ipynb b/colabs/wandb-log/Log_a_Confusion_Matrix_with_W&B.ipynb
index 4bfc7979..d628ce43 100644
--- a/colabs/wandb-log/Log_a_Confusion_Matrix_with_W&B.ipynb
+++ b/colabs/wandb-log/Log_a_Confusion_Matrix_with_W&B.ipynb
@@ -86,7 +86,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-log/Logging_Strategies_for_High_Frequency_Data.ipynb b/colabs/wandb-log/Logging_Strategies_for_High_Frequency_Data.ipynb
index eb45d0cc..15aa99cc 100644
--- a/colabs/wandb-log/Logging_Strategies_for_High_Frequency_Data.ipynb
+++ b/colabs/wandb-log/Logging_Strategies_for_High_Frequency_Data.ipynb
@@ -86,8 +86,15 @@
"metadata": {},
"outputs": [],
"source": [
- "# login\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-log/Plot_Precision_Recall_Curves_with_W&B.ipynb b/colabs/wandb-log/Plot_Precision_Recall_Curves_with_W&B.ipynb
index 5ecd9eb5..0e8d8498 100644
--- a/colabs/wandb-log/Plot_Precision_Recall_Curves_with_W&B.ipynb
+++ b/colabs/wandb-log/Plot_Precision_Recall_Curves_with_W&B.ipynb
@@ -83,7 +83,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-log/Plot_ROC_Curves_with_W&B.ipynb b/colabs/wandb-log/Plot_ROC_Curves_with_W&B.ipynb
index 87bd5971..6bda70c0 100644
--- a/colabs/wandb-log/Plot_ROC_Curves_with_W&B.ipynb
+++ b/colabs/wandb-log/Plot_ROC_Curves_with_W&B.ipynb
@@ -83,8 +83,15 @@
"metadata": {},
"outputs": [],
"source": [
- "# login\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-log/Run_names_visualized_using_min_dalle.ipynb b/colabs/wandb-log/Run_names_visualized_using_min_dalle.ipynb
index 18c9c64e..072ea979 100644
--- a/colabs/wandb-log/Run_names_visualized_using_min_dalle.ipynb
+++ b/colabs/wandb-log/Run_names_visualized_using_min_dalle.ipynb
@@ -39,10 +39,18 @@
"! git lfs install\n",
"! git clone https://huggingface.co/dalle-mini/vqgan_imagenet_f16_16384 /content/min-dalle/pretrained/vqgan\n",
"!pip install torch flax==0.4.2 wandb\n",
- "! wandb login\n",
"! wandb artifact get --root=/content/min-dalle/pretrained/dalle_bart_mini dalle-mini/dalle-mini/mini-1:v0"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
diff --git a/colabs/wandb-log/Set_Alerts_with_W_&_B.ipynb b/colabs/wandb-log/Set_Alerts_with_W_&_B.ipynb
index 19fedfe8..137fd17b 100644
--- a/colabs/wandb-log/Set_Alerts_with_W_&_B.ipynb
+++ b/colabs/wandb-log/Set_Alerts_with_W_&_B.ipynb
@@ -53,7 +53,15 @@
"outputs": [],
"source": [
"# Log in to your W&B account\n",
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/colabs/wandb-model-registry/Model_Registry_E2E.ipynb b/colabs/wandb-model-registry/Model_Registry_E2E.ipynb
index 5ecae223..1124c5c3 100644
--- a/colabs/wandb-model-registry/Model_Registry_E2E.ipynb
+++ b/colabs/wandb-model-registry/Model_Registry_E2E.ipynb
@@ -75,7 +75,15 @@
"source": [
"import wandb\n",
"\n",
- "# Login to W&B\n",
+ "# Login to W&B"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
@@ -594,13 +602,6 @@
"artifact_dir = artifact.download()\n",
"wandb.finish()"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {
diff --git a/colabs/wandb-model-registry/New_Model_Logging_in_W&B.ipynb b/colabs/wandb-model-registry/New_Model_Logging_in_W&B.ipynb
new file mode 100644
index 00000000..449e9d7e
--- /dev/null
+++ b/colabs/wandb-model-registry/New_Model_Logging_in_W&B.ipynb
@@ -0,0 +1,416 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "gpuType": "T4",
+ "authorship_tag": "ABX9TyOlvkZjseUluPYEdqGH1TjK",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ },
+ "accelerator": "GPU"
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Logging and Registering Models in W&B\n",
+ "It's never been easier to log your model checkpoints, keep track of the best ones, and maintain lineage of runs and results!\n",
+ "\n",
+ "W&B is introducing a few convenience methods to make logging models and linking them to the registry simple:\n",
+ "- `log_model`\n",
+ "- `use_model`\n",
+ "- `link_model`"
+ ],
+ "metadata": {
+ "id": "saeQIrcF155i"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Imports"
+ ],
+ "metadata": {
+ "id": "_ewwM5T_OWTr"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "BbkuyVKRwCbi"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install -qqq wandb einops"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import torch\n",
+ "from torch import nn\n",
+ "from einops import rearrange, repeat\n",
+ "from einops.layers.torch import Rearrange\n",
+ "import torch\n",
+ "from torch.utils.data import DataLoader, Dataset\n",
+ "from torchvision import transforms\n",
+ "import torch\n",
+ "from torch import nn\n",
+ "from torch.optim import Adam\n",
+ "from torch.utils.data import DataLoader\n",
+ "from torchvision import datasets, transforms\n",
+ "\n",
+ "import wandb"
+ ],
+ "metadata": {
+ "id": "6OsMa64TOacf"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Log in to W&B\n",
+ "- You can explicitly login using `wandb login` or `wandb.login()` (See below)\n",
+ "- Alternatively you can set environment variables. There are several env variables which you can set to change the behavior of W&B logging. The most important are:\n",
+ " - `WANDB_API_KEY` - find this in your \"Settings\" section under your profile\n",
+ " - `WANDB_BASE_URL` - this is the url of the W&B server\n",
+ "- Find your API Token in \"Profile\" -> \"Setttings\" in the W&B App\n",
+ "\n",
+ "![api_token](https://drive.google.com/uc?export=view&id=1Xn7hnn0rfPu_EW0A_-32oCXqDmpA0-kx)"
+ ],
+ "metadata": {
+ "id": "m3Q_QG14Ovvz"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "wandb.login()"
+ ],
+ "metadata": {
+ "id": "5-r3O3gFwfcr"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Define the Model and Dataset\n",
+ "This is a simple implementation of a Vision Transformer (ViT) and utilizes a random dataset for training.\n",
+ "- Credit to https://github.com/lucidrains/vit-pytorch"
+ ],
+ "metadata": {
+ "id": "ZuL3yZ17qIGE"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Define some config for the model and dataset"
+ ],
+ "metadata": {
+ "id": "WE4j_CI7Tt9O"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Define the number of samples, classes, and image size\n",
+ "num_samples = 100\n",
+ "num_classes = 10\n",
+ "image_size = 256\n",
+ "batch_size = 32"
+ ],
+ "metadata": {
+ "id": "D7sVekyVTlxN"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# helpers\n",
+ "def pair(t):\n",
+ " return t if isinstance(t, tuple) else (t, t)\n",
+ "\n",
+ "# classes\n",
+ "class FeedForward(nn.Module):\n",
+ " def __init__(self, dim, hidden_dim, dropout = 0.):\n",
+ " super().__init__()\n",
+ " self.net = nn.Sequential(\n",
+ " nn.LayerNorm(dim),\n",
+ " nn.Linear(dim, hidden_dim),\n",
+ " nn.GELU(),\n",
+ " nn.Dropout(dropout),\n",
+ " nn.Linear(hidden_dim, dim),\n",
+ " nn.Dropout(dropout)\n",
+ " )\n",
+ "\n",
+ " def forward(self, x):\n",
+ " return self.net(x)\n",
+ "\n",
+ "class Attention(nn.Module):\n",
+ " def __init__(self, dim, heads = 8, dim_head = 64, dropout = 0.):\n",
+ " super().__init__()\n",
+ " inner_dim = dim_head * heads\n",
+ " project_out = not (heads == 1 and dim_head == dim)\n",
+ "\n",
+ " self.heads = heads\n",
+ " self.scale = dim_head ** -0.5\n",
+ "\n",
+ " self.norm = nn.LayerNorm(dim)\n",
+ "\n",
+ " self.attend = nn.Softmax(dim = -1)\n",
+ " self.dropout = nn.Dropout(dropout)\n",
+ "\n",
+ " self.to_qkv = nn.Linear(dim, inner_dim * 3, bias = False)\n",
+ "\n",
+ " self.to_out = nn.Sequential(\n",
+ " nn.Linear(inner_dim, dim),\n",
+ " nn.Dropout(dropout)\n",
+ " ) if project_out else nn.Identity()\n",
+ "\n",
+ " def forward(self, x):\n",
+ " x = self.norm(x)\n",
+ "\n",
+ " qkv = self.to_qkv(x).chunk(3, dim = -1)\n",
+ " q, k, v = map(lambda t: rearrange(t, 'b n (h d) -> b h n d', h = self.heads), qkv)\n",
+ "\n",
+ " dots = torch.matmul(q, k.transpose(-1, -2)) * self.scale\n",
+ "\n",
+ " attn = self.attend(dots)\n",
+ " attn = self.dropout(attn)\n",
+ "\n",
+ " out = torch.matmul(attn, v)\n",
+ " out = rearrange(out, 'b h n d -> b n (h d)')\n",
+ " return self.to_out(out)\n",
+ "\n",
+ "class Transformer(nn.Module):\n",
+ " def __init__(self, dim, depth, heads, dim_head, mlp_dim, dropout = 0.):\n",
+ " super().__init__()\n",
+ " self.norm = nn.LayerNorm(dim)\n",
+ " self.layers = nn.ModuleList([])\n",
+ " for _ in range(depth):\n",
+ " self.layers.append(nn.ModuleList([\n",
+ " Attention(dim, heads = heads, dim_head = dim_head, dropout = dropout),\n",
+ " FeedForward(dim, mlp_dim, dropout = dropout)\n",
+ " ]))\n",
+ "\n",
+ " def forward(self, x):\n",
+ " for attn, ff in self.layers:\n",
+ " x = attn(x) + x\n",
+ " x = ff(x) + x\n",
+ "\n",
+ " return self.norm(x)\n",
+ "\n",
+ "class ViT(nn.Module):\n",
+ " def __init__(self, *, image_size, patch_size, num_classes, dim, depth, heads, mlp_dim, pool = 'cls', channels = 3, dim_head = 64, dropout = 0., emb_dropout = 0.):\n",
+ " super().__init__()\n",
+ " image_height, image_width = pair(image_size)\n",
+ " patch_height, patch_width = pair(patch_size)\n",
+ "\n",
+ " assert image_height % patch_height == 0 and image_width % patch_width == 0, 'Image dimensions must be divisible by the patch size.'\n",
+ "\n",
+ " num_patches = (image_height // patch_height) * (image_width // patch_width)\n",
+ " patch_dim = channels * patch_height * patch_width\n",
+ " assert pool in {'cls', 'mean'}, 'pool type must be either cls (cls token) or mean (mean pooling)'\n",
+ "\n",
+ " self.to_patch_embedding = nn.Sequential(\n",
+ " Rearrange('b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1 = patch_height, p2 = patch_width),\n",
+ " nn.LayerNorm(patch_dim),\n",
+ " nn.Linear(patch_dim, dim),\n",
+ " nn.LayerNorm(dim),\n",
+ " )\n",
+ "\n",
+ " self.pos_embedding = nn.Parameter(torch.randn(1, num_patches + 1, dim))\n",
+ " self.cls_token = nn.Parameter(torch.randn(1, 1, dim))\n",
+ " self.dropout = nn.Dropout(emb_dropout)\n",
+ "\n",
+ " self.transformer = Transformer(dim, depth, heads, dim_head, mlp_dim, dropout)\n",
+ "\n",
+ " self.pool = pool\n",
+ " self.to_latent = nn.Identity()\n",
+ "\n",
+ " self.mlp_head = nn.Linear(dim, num_classes)\n",
+ "\n",
+ " def forward(self, img):\n",
+ " x = self.to_patch_embedding(img)\n",
+ " b, n, _ = x.shape\n",
+ "\n",
+ " cls_tokens = repeat(self.cls_token, '1 1 d -> b 1 d', b = b)\n",
+ " x = torch.cat((cls_tokens, x), dim=1)\n",
+ " x += self.pos_embedding[:, :(n + 1)]\n",
+ " x = self.dropout(x)\n",
+ "\n",
+ " x = self.transformer(x)\n",
+ "\n",
+ " x = x.mean(dim = 1) if self.pool == 'mean' else x[:, 0]\n",
+ "\n",
+ " x = self.to_latent(x)\n",
+ " return self.mlp_head(x)\n",
+ "\n",
+ "\n",
+ "# Define a custom dataset\n",
+ "class RandomImageDataset(Dataset):\n",
+ " def __init__(self, num_samples, num_classes, image_size):\n",
+ " self.num_samples = num_samples\n",
+ " self.num_classes = num_classes\n",
+ " self.image_size = image_size\n",
+ "\n",
+ " def __len__(self):\n",
+ " return self.num_samples\n",
+ "\n",
+ " def __getitem__(self, idx):\n",
+ " # Generate a random image tensor\n",
+ " image = torch.randn(3, self.image_size, self.image_size) # 3 channels, image_size x image_size\n",
+ " # Generate a random label\n",
+ " label = torch.randint(0, self.num_classes, (1,)).item()\n",
+ " return image, label\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Create the dataset\n",
+ "dataset = RandomImageDataset(num_samples=num_samples, num_classes=num_classes, image_size=image_size)\n",
+ "\n",
+ "# Create a DataLoader\n",
+ "dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)"
+ ],
+ "metadata": {
+ "id": "TntUlCT2ppV2"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Log Model Checkpoints to W&B with 1 Line!\n",
+ "\n",
+ "Use the `log_model` method to log a model artifact containing the contents inside the ‘path’ to an a run. It also marks it as an output to the run. You can see the full lineage graph of the model artifact by accessing the [lineage](https://docs.wandb.ai/guides/artifacts/explore-and-traverse-an-artifact-graph#docusaurus_skipToContent_fallback) tab inside the Artifacts view.\n",
+ "\n",
+ "`log_model()` takes as input:\n",
+ "\n",
+ "- `path`: A path to the model file(s), which can be a local file (of the form `/local/directory/file.txt`), directory (of the form `/local/directory`), or reference path to S3 (`s3://bucket/path`).\n",
+ "- `name`: An optional name for the model artifact the files will be logged to. Note that if no name is specified, This will default to the basename of the input path prepended with the run ID.\n",
+ "- `aliases`: An optional list of aliases, which can be thought of as semantic ‘nicknames’ or identifiers for a model version. For example, if this model yielded the best accuracy, you might add the alias ‘highest-accuracy’ or ‘best’."
+ ],
+ "metadata": {
+ "id": "ZkomIMW6VNky"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "run = wandb.init(project=\"new_model_logging\",\n",
+ " job_type=\"training\")\n",
+ "\n",
+ "v = ViT(\n",
+ " image_size = image_size,\n",
+ " patch_size = 32,\n",
+ " num_classes = num_classes,\n",
+ " dim = 128,\n",
+ " depth = 3,\n",
+ " heads = 2,\n",
+ " mlp_dim = 256,\n",
+ " dropout = 0.1,\n",
+ " emb_dropout = 0.1\n",
+ ")\n",
+ "\n",
+ "# Define the loss function and optimizer\n",
+ "criterion = nn.CrossEntropyLoss()\n",
+ "optimizer = Adam(v.parameters(), lr=0.003)\n",
+ "\n",
+ "# Training loop\n",
+ "best_accuracy = 0\n",
+ "for epoch in range(5): # number of epochs\n",
+ " for images, labels in dataloader:\n",
+ " # Forward pass\n",
+ " preds = v(images)\n",
+ " loss = criterion(preds, labels)\n",
+ "\n",
+ " # Backward pass and optimization\n",
+ " optimizer.zero_grad()\n",
+ " loss.backward()\n",
+ " optimizer.step()\n",
+ "\n",
+ " wandb.log({\"train/loss\": loss})\n",
+ "\n",
+ " # Model evaluation after each epoch (using a validation set)\n",
+ " # Here you would write your validation loop and calculate accuracy\n",
+ " val_accuracy = 0.5 # Assume this is the validation accuracy you compute\n",
+ " model_path = 'model_vit.pth'\n",
+ " torch.save(v.state_dict(), model_path)\n",
+ "\n",
+ " # Check if this is the best model so far\n",
+ " if val_accuracy > best_accuracy:\n",
+ " best_accuracy = val_accuracy\n",
+ " # Log the model to your W&B run\n",
+ " wandb.log_model(name=f\"model_vit-{wandb.run.id}\", path=model_path, aliases=[\"best\", f\"epoch_{epoch}\"])\n",
+ " else:\n",
+ " wandb.log_model(name=f\"model_vit-{wandb.run.id}\", path=model_path, aliases=[f\"epoch_{epoch}\"])"
+ ],
+ "metadata": {
+ "id": "48khrxaKt-rm"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Link Your Best Models to the Model Registry\n",
+ "You can bookmark your best model checkpoints and centralize them across your team. The Model Registry allows you can organize your best models by task, manage model lifecycle, facilitate easy tracking and auditing throughout the ML lifecyle, and automate downstream actions with webhooks or jobs. You can this via api through `link_model()`, which takes as input:\n",
+ "\n",
+ "- `path`: A path to the model file(s), which can be a local file (of the form `/local/directory/file.txt`), directory (of the form `/local/directory`), or reference path to S3 (`s3://bucket/path`).\n",
+ "- `registered_model_name`: the name of the Registered Model - a collection of linked model versions in the Model Registry, typically representing a team’s ML task - that the model should be linked to. If no Registered Model with the given name exists, a new one will be created with this name.\n",
+ "- `name`: An **optional** name for the model artifact the files will be logged to. Note that if no name is specified, This will default to the basename of the input path prepended with the run ID.\n",
+ "- `aliases`: An **optional** list of aliases, which can be thought of as semantic ‘nicknames’ or identifiers for a linked model version. For example, since this model is being linked, or published, to the Model Registry, you might add an alias “staging” or “QA”."
+ ],
+ "metadata": {
+ "id": "km2nU7IUVg63"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Link the best model to the W&B Model Registry (after all epochs are finished)\n",
+ "artifact_name = f\"model_vit-{wandb.run.id}:best\"\n",
+ "best_model_path = wandb.use_model(artifact_name)\n",
+ "\n",
+ "# Link the best model to the registry\n",
+ "wandb.link_model(path=best_model_path,\n",
+ " registered_model_name=\"Industrial ViT\",\n",
+ " aliases=[\"staging\"])\n",
+ "run.finish()"
+ ],
+ "metadata": {
+ "id": "ckH-yexDVgJI"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/colabs/yolox/Train_and_Debug_YOLOX_Models_with_Weights_&_Biases.ipynb b/colabs/yolox/Train_and_Debug_YOLOX_Models_with_Weights_&_Biases.ipynb
index 8442213f..4f9c3028 100644
--- a/colabs/yolox/Train_and_Debug_YOLOX_Models_with_Weights_&_Biases.ipynb
+++ b/colabs/yolox/Train_and_Debug_YOLOX_Models_with_Weights_&_Biases.ipynb
@@ -89,7 +89,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/examples/jax/jax-llm/create_tokenizer.ipynb b/examples/jax/jax-llm/create_tokenizer.ipynb
index d3c1fd83..090e18ef 100644
--- a/examples/jax/jax-llm/create_tokenizer.ipynb
+++ b/examples/jax/jax-llm/create_tokenizer.ipynb
@@ -3,7 +3,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "eedce872-2204-49f8-8a52-ef338f7a6654",
+ "id": "20860c23",
"metadata": {},
"outputs": [],
"source": [
@@ -22,7 +22,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "2f30468d-36f7-448c-8a09-6e2637dc5c3c",
+ "id": "202d2317",
"metadata": {},
"outputs": [],
"source": [
@@ -32,7 +32,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "db2f7eeb-9178-4fa9-9156-1a86072add3e",
+ "id": "8e472e8d",
"metadata": {},
"outputs": [],
"source": [
@@ -43,7 +43,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "80520842-7460-4f0b-bf6c-c586506f8bc8",
+ "id": "8a4be9b2",
"metadata": {},
"outputs": [],
"source": [
@@ -53,7 +53,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7216dd5d-25bf-4b6d-b677-157eb7e85756",
+ "id": "9c9cfb89",
"metadata": {},
"outputs": [],
"source": [
@@ -71,7 +71,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "49ff186a-ecfc-4492-b457-053734ed5970",
+ "id": "c280c1eb",
"metadata": {},
"outputs": [],
"source": [
@@ -81,7 +81,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "2a2fffc0-8bd5-4558-b0db-655271ced251",
+ "id": "3da91241",
"metadata": {},
"outputs": [],
"source": [
@@ -103,7 +103,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "6784b4d7-22dc-4726-bedf-a655a7ae2982",
+ "id": "25df71ba",
"metadata": {},
"outputs": [],
"source": [
@@ -116,7 +116,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7d9804dd-3fb1-42f5-80cc-9d392c9a229a",
+ "id": "bedeed59",
"metadata": {},
"outputs": [],
"source": [
@@ -126,7 +126,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "e2298511-f2ba-4863-95dd-f592c78499ed",
+ "id": "a1d2330a",
"metadata": {},
"outputs": [],
"source": [
@@ -136,7 +136,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "b5ed4e7f-3218-4f72-b407-4369dd9df3d2",
+ "id": "b1af6ef5",
"metadata": {},
"outputs": [],
"source": [
@@ -146,7 +146,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "aa0fb355-304b-48be-8585-ba246a553ad4",
+ "id": "f2ff15a1",
"metadata": {},
"outputs": [],
"source": [
@@ -159,23 +159,6 @@
"display_name": "Python 3",
"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.8.10"
- },
- "vscode": {
- "interpreter": {
- "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
- }
}
},
"nbformat": 4,
diff --git a/examples/keras/keras-tensorflow2/TensorFlow_2_0_+_Keras_Crash_Course_+_W&B.ipynb b/examples/keras/keras-tensorflow2/TensorFlow_2_0_+_Keras_Crash_Course_+_W&B.ipynb
index 37560e3a..2a1cc50f 100644
--- a/examples/keras/keras-tensorflow2/TensorFlow_2_0_+_Keras_Crash_Course_+_W&B.ipynb
+++ b/examples/keras/keras-tensorflow2/TensorFlow_2_0_+_Keras_Crash_Course_+_W&B.ipynb
@@ -1679,11 +1679,6 @@
"model.compile(optimizer=optimizer, loss=loss, metrics=[accuracy])"
]
},
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": []
- },
{
"cell_type": "markdown",
"metadata": {},
diff --git a/examples/llama-cpp/.dockerignore b/examples/llama-cpp/.dockerignore
new file mode 100644
index 00000000..6ea88749
--- /dev/null
+++ b/examples/llama-cpp/.dockerignore
@@ -0,0 +1 @@
+models/
\ No newline at end of file
diff --git a/examples/llama-cpp/.gitignore b/examples/llama-cpp/.gitignore
new file mode 100644
index 00000000..4592db0a
--- /dev/null
+++ b/examples/llama-cpp/.gitignore
@@ -0,0 +1,2 @@
+wandb/
+models/
\ No newline at end of file
diff --git a/examples/llama-cpp/Dockerfile b/examples/llama-cpp/Dockerfile
new file mode 100644
index 00000000..adc8d65c
--- /dev/null
+++ b/examples/llama-cpp/Dockerfile
@@ -0,0 +1,30 @@
+ARG CUDA_IMAGE="12.1.1-devel-ubuntu22.04"
+FROM nvidia/cuda:${CUDA_IMAGE}
+
+# We need to set the host to 0.0.0.0 to allow outside access
+ENV HOST 0.0.0.0
+
+RUN apt-get update && apt-get upgrade -y \
+ && apt-get install -y git build-essential \
+ python3 python3-pip gcc wget \
+ ocl-icd-opencl-dev opencl-headers clinfo \
+ libclblast-dev libopenblas-dev \
+ && mkdir -p /etc/OpenCL/vendors && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
+
+# setting build related env vars
+ENV CUDA_DOCKER_ARCH=all
+ENV LLAMA_CUBLAS=1
+ENV PYTHONUNBUFFERED=1
+
+# Install depencencies
+RUN python3 -m pip install --no-cache-dir --upgrade pip pytest cmake scikit-build setuptools fastapi \
+ uvicorn sse-starlette pydantic-settings starlette-context openai wandb timeout-decorator
+
+# Install llama-cpp-python (build with cuda)
+RUN CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install --no-cache-dir llama-cpp-python
+
+COPY app /app
+WORKDIR /app
+
+# Run evaluation
+CMD python3 evaluate.py
\ No newline at end of file
diff --git a/examples/llama-cpp/README.md b/examples/llama-cpp/README.md
new file mode 100644
index 00000000..86dbe4d3
--- /dev/null
+++ b/examples/llama-cpp/README.md
@@ -0,0 +1,76 @@
+# Overview
+
+This script automates the evaluation of different LLM's with W&B. It was originally used at Dockercon '23. The default dataset attemtps to convert english commands into docker CLI commands. See `eval.jsonl`. All of the logic is in `evaluate.py`.
+
+# Documentation
+
+## Setup W&B
+
+```bash
+pip install wandb
+
+# Find your api key at https://wandb.ai/authorize
+export WANDB_API_KEY=XXX
+# Find your openai api key at https://platform.openai.com/account/api-keys
+export OPENAI_API_KEY=XXX
+```
+
+## Download Models
+
+```bash
+python download_models.py
+```
+
+## Nvidia/CUDA
+
+### Build the docker container
+
+```bash
+docker build -t wandb/eval-llm:cuda .
+```
+
+### Run evaluation
+
+```bash
+docker run --gpus=all --cap-add SYS_RESOURCE -e USE_MLOCK=0 -e WANDB_API_KEY -e OPENAI_API_KEY -e MODEL=mistral-7b-instruct-v0.1.Q5_K_M.gguf -e TEMP=0.3 -v $(pwd)/models:/var/models wandb/eval-llm:cuda
+```
+
+## Environment variables
+
+* `TEMP` - temperature _(0.5)_
+* `MAX_TOKENS` - maximum number of tokens to emit _(128)_
+* `SYSTEM_PROMPT` - instructions for the model _(You're a Docker expert. Translate the following sentence to a simple docker command.)_
+* `MODEL` - name of gguf file, or gpt-turbo-3.5, gpt-40 _(codellama-13b-instruct.Q4_K_M.gguf)_
+* `EVAL_PATH` - the path to a jsonl file with "input" and "ideal" keys _(eval.jsonl)_
+* `VERBOSE` - print verbose info from llama-cpp-python _(False)_
+* `DIFF_THRESHOLD` - the percentage threshold for considering a response accurate _(0.7)_
+* `REPITITION_PENALTY` - how much to penalize repeated tokens _(1.1)_
+* `GPU_LAYERS` - the number of layers to offload to the gpu _(-1 for CUDA, 0 for CPU)_
+
+# W&B Launch Setup
+
+## Create a queue
+
+Goto https://wandb.ai/vanpelt/launch and create a queue named "llm-eval-cuda". Set it's config to:
+
+> Note: replace `/home/jupyter` to whatever `pwd` returns in your current directory.
+
+```json
+{
+ "env": ["USE_MLOCK=0", "OPENAI_API_KEY"],
+ "gpus": "all",
+ "volume": "/home/jupyter/models:/var/models",
+ "cap-add": "SYS_RESOURCE"
+}
+```
+
+## Create a docker job
+
+```bash
+wandb job create --project "llm-eval" --name "llm-eval-cuda" image wandb/eval-llm:cuda
+```
+
+## Run an agent
+
+```bash
+wandb launch-agent -q llm-eval-cuda
\ No newline at end of file
diff --git a/examples/llama-cpp/app/download_models.py b/examples/llama-cpp/app/download_models.py
new file mode 100644
index 00000000..6af41b40
--- /dev/null
+++ b/examples/llama-cpp/app/download_models.py
@@ -0,0 +1,27 @@
+import os
+import requests
+
+models = [
+ "https://huggingface.co/TheBloke/CodeLlama-7B-GGUF/resolve/main/codellama-7b.Q5_K_S.gguf",
+ "https://huggingface.co/TheBloke/CodeLlama-13B-Instruct-GGUF/resolve/main/codellama-13b-instruct.Q4_K_M.gguf",
+ "https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.1-GGUF/resolve/main/mistral-7b-instruct-v0.1.Q5_K_M.gguf"
+]
+for url in models:
+ dest = f"models/{url.split('/')[-1]}"
+ if os.path.exists(dest):
+ print(f"Skipping {dest}, already exists")
+ continue
+ print(f"Downloading {url} to {dest}...")
+ response = requests.get(url, stream=True)
+ if response.status_code == 200:
+ with open(dest, 'wb') as f:
+ total_downloaded = 0
+ for chunk in response.iter_content(chunk_size=1024):
+ if chunk: # filter out keep-alive new chunks
+ f.write(chunk)
+ total_downloaded += len(chunk)
+ if total_downloaded >= 10485760: # 10 MB
+ print('.', end='', flush=True)
+ total_downloaded = 0
+ print("\nDownload complete.")
+
\ No newline at end of file
diff --git a/examples/llama-cpp/app/eval.jsonl b/examples/llama-cpp/app/eval.jsonl
new file mode 100644
index 00000000..2a0b036e
--- /dev/null
+++ b/examples/llama-cpp/app/eval.jsonl
@@ -0,0 +1,10 @@
+{"input": "Spin up a new container named busy_server_1 with the latest version of the busybox image and place it under the high_priority cgroup parent in the background.", "ideal": "docker run -d --name busy_server_1 --cgroup-parent /high_priority busybox"}
+{"input": "Please display the images in a table format with the repository, tag, ID, and size included.", "ideal": "docker images --format \"table {{.Repository}},{{.Tag}},{{.ID}},{{.Size}}\""}
+{"input": "Can you show me the containers that are running and have port 8080 published?", "ideal": "docker ps --filter 'publish=8080'"}
+{"input": "I need just the IDs of Docker images.", "ideal": "docker images --quiet"}
+{"input": "Display the containers that are both running and healthy.", "ideal": "docker ps --filter 'status=running' --filter 'health=healthy'"}
+{"input": "Get the images labeled with \"maintainer=nginx\" and show their repository, tag, and ID.", "ideal": "docker images --filter \"label=maintainer=nginx\" --format \"{{.Repository}},{{.Tag}},{{.ID}}\""}
+{"input": "Display all the running containers.", "ideal": "docker ps"}
+{"input": "Display the details of the most recent container execution now!", "ideal": "docker ps -l"}
+{"input": "Please run httpd as an Apache server on port 8080 using the latest image.", "ideal": "docker run --name apache_server -p 8080:80 httpd"}
+{"input": "I need to see the running tasks in Docker.", "ideal": "docker ps --filter 'is-task=true'"}
\ No newline at end of file
diff --git a/examples/llama-cpp/app/evaluate.py b/examples/llama-cpp/app/evaluate.py
new file mode 100644
index 00000000..e4ec62f2
--- /dev/null
+++ b/examples/llama-cpp/app/evaluate.py
@@ -0,0 +1,113 @@
+import difflib
+import json
+from llama_cpp import Llama
+import openai
+import os
+import re
+import subprocess
+import time
+import wandb
+
+config = {
+ 'max_tokens': int(os.getenv("MAX_TOKENS", 128)),
+ 'repetition_penalty': float(os.getenv("REPITITION_PENALTY", 1.1)),
+ 'temperature': float(os.getenv("TEMP", 0.5)),
+ 'gpu_layers': int(os.getenv("GPU_LAYERS", 0)),
+}
+
+model_path = os.getenv("MODEL", "codellama-13b-instruct.Q4_K_M.gguf")
+eval_path = os.getenv("EVAL_PATH", "eval.jsonl")
+system_prompt = os.getenv("SYSTEM_PROMPT", "You're a Docker expert. Translate the following sentence to a simple docker command.")
+diff_threshold = float(os.getenv("DIFF_THRESHOLD", 0.7))
+
+def is_cuda_available():
+ try:
+ subprocess.check_output(["nvidia-smi"])
+ return True
+ except (subprocess.CalledProcessError, FileNotFoundError):
+ return False
+
+wandb_config = {"model": model_path, "eval": eval_path,
+ "system_prompt": system_prompt, **config}
+
+# Set WANDB_MODE=disabled when running this files in tests
+wandb.init(project="llm-eval-v2", config=wandb_config)
+
+if wandb.config["model"].startswith("gpt"):
+ def llm(prompt):
+ res = openai.ChatCompletion.create(
+ model=wandb.config["model"],
+ messages=[
+ {"role": "system", "content": wandb.config["system_prompt"]},
+ {"role": "user", "content": prompt}
+ ],
+ temperature=wandb.config["temperature"],
+ max_tokens=wandb.config["max_tokens"],
+ frequency_penalty=wandb.config["repetition_penalty"],
+ )
+ return res.choices[0].message.content, res.usage.total_tokens
+else:
+ default_gpu = -1 if is_cuda_available() else 0
+ cpp = Llama(f"/var/models/{wandb.config['model']}",
+ verbose=bool(os.getenv("VERBOSE", False)),
+ n_gpu_layers=int(os.getenv("GPU_LAYERS", default_gpu)))
+ def llm(prompt):
+ res = cpp.create_chat_completion(
+ messages=[
+ {"role": "system", "content": wandb.config["system_prompt"]},
+ {"role": "user", "content": f"Q: {prompt}"}
+ ],
+ max_tokens=wandb.config["max_tokens"], stop=["Q:"],
+ repeat_penalty=wandb.config["repetition_penalty"],
+ temperature=wandb.config["temperature"],
+ )
+ return res["choices"][0]["message"]["content"], res["usage"]["total_tokens"]
+
+print(f"Evaluating {wandb.config['model']}")
+table = wandb.Table(columns=["prompt", "output", "ideal", "score", "latency", "tokens"])
+
+codeblock_pattern = re.compile(r'(docker.+)$', re.MULTILINE)
+def fmt(s):
+ return f"`{s}`"
+
+total_score = 0
+total_latency = 0
+total_tokens = 0
+correct = 0.0
+total = 0.0
+with open(eval_path, "r") as f:
+ for line in f:
+ data = json.loads(line)
+ total += 1.0
+ prompt = data["input"]
+ print(prompt)
+ start = time.time()
+ output, tokens = llm(prompt)
+ latency = time.time() - start
+ total_latency += latency
+ matches = codeblock_pattern.findall(output)
+ if len(matches) == 0:
+ print("\t!!! No code generated:")
+ for l in output.split("\n"):
+ print(f"\t> {l}")
+ continue
+ command = matches[0].split("`")[0]
+ score = difflib.SequenceMatcher(None, data["ideal"], command).ratio()
+ print(f"\t({score:.2f}) {command}")
+ total_score += score
+ total_tokens += tokens
+ if score > diff_threshold:
+ correct += 1.0
+ table.add_data(prompt, fmt(command), fmt(data["ideal"]), score, latency, tokens)
+
+wandb.log({
+ "accuracy": correct / total,
+ "diff_score": total_score / total,
+ "avg_tokens": total_tokens / total,
+ "latency": total_latency / total,
+ "eval": table
+})
+print("\nConfig:\n")
+print(json.dumps(dict(wandb.config), indent=4))
+print(f"Accuracy: {wandb.run.summary['accuracy']}")
+print(f"Average diff score: {wandb.run.summary['diff_score']}")
\ No newline at end of file
diff --git a/examples/llama-cpp/sweep.yaml b/examples/llama-cpp/sweep.yaml
new file mode 100644
index 00000000..a79a8e7d
--- /dev/null
+++ b/examples/llama-cpp/sweep.yaml
@@ -0,0 +1,22 @@
+program: evaluate.py
+method: random
+metric:
+ goal: maximize
+ name: diff_score
+parameters:
+ model:
+ distribution: categorical
+ values:
+ - codellama-13b-instruct.Q4_K_M.gguf
+ - codellama-7b.Q5_K_S.gguf
+ - mistral-7b-instruct-v0.1.Q5_K_M.gguf
+ - gpt-3.5-turbo
+ system_prompt:
+ distribution: categorical
+ values:
+ - You're a Docker expert. Translate the following sentence to a simple docker command.
+ - You'll be asked a question about Docker. Your job is to convert this question to a succinct docker command. Only provide a single command and limit your use of pipeing to other unix tools.
+ temperature:
+ distribution: uniform
+ max: 0.6
+ min: 0
\ No newline at end of file
diff --git a/examples/model-evaluation/requirements.txt b/examples/model-evaluation/requirements.txt
index 89530871..8253d0e1 100644
--- a/examples/model-evaluation/requirements.txt
+++ b/examples/model-evaluation/requirements.txt
@@ -1,5 +1,5 @@
wandb
keras
tensorflow
-sklearn
-numpy
\ No newline at end of file
+scikit-learn
+numpy
diff --git a/examples/pytorch/pytorch-cifar10-sagemaker/train.ipynb b/examples/pytorch/pytorch-cifar10-sagemaker/train.ipynb
index b9ec4e33..e1b9dd71 100644
--- a/examples/pytorch/pytorch-cifar10-sagemaker/train.ipynb
+++ b/examples/pytorch/pytorch-cifar10-sagemaker/train.ipynb
@@ -32,7 +32,6 @@
"metadata": {},
"outputs": [],
"source": [
- "# login\n",
"wandb.login()"
]
},
diff --git a/examples/pytorch/pytorch-cifar10-sagemaker/train.py b/examples/pytorch/pytorch-cifar10-sagemaker/train.py
index fe6d0b5b..cae1944e 100644
--- a/examples/pytorch/pytorch-cifar10-sagemaker/train.py
+++ b/examples/pytorch/pytorch-cifar10-sagemaker/train.py
@@ -50,13 +50,14 @@
estimator = PyTorch(entry_point="cifar10.py",
source_dir=os.getcwd() + "/source",
role=role,
- framework_version='1.7.1',
- py_version='py3',
+ framework_version='1.12.1',
+ py_version='py38',
instance_count=1,
instance_type='ml.c5.xlarge',
hyperparameters={
'epochs': args.train_epochs,
- 'momentum': 0.9
+ 'momentum': 0.9,
+ 'num_round': 10,
})
hyperparameter_ranges = {
diff --git a/examples/pytorch/pytorch-intro/intro.ipynb b/examples/pytorch/pytorch-intro/intro.ipynb
index 29e80825..c2a9d5d0 100755
--- a/examples/pytorch/pytorch-intro/intro.ipynb
+++ b/examples/pytorch/pytorch-intro/intro.ipynb
@@ -112,8 +112,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
- "\n",
+ "import wandb\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/examples/pytorch/pytorch-mnist-sagemaker/pytorch_mnist.ipynb b/examples/pytorch/pytorch-mnist-sagemaker/pytorch_mnist.ipynb
index b6dca598..2e20fdf9 100644
--- a/examples/pytorch/pytorch-mnist-sagemaker/pytorch_mnist.ipynb
+++ b/examples/pytorch/pytorch-mnist-sagemaker/pytorch_mnist.ipynb
@@ -491,11 +491,19 @@
],
"source": [
"import wandb\n",
- "wandb.login()\n",
"settings = wandb.setup().settings\n",
"current_api_key = wandb.wandb_lib.apikey.api_key(settings=settings)"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wandb.login()"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
diff --git a/examples/sagemaker/text_classification/text_classification.ipynb b/examples/sagemaker/text_classification/text_classification.ipynb
index b9bf3487..19e7431a 100644
--- a/examples/sagemaker/text_classification/text_classification.ipynb
+++ b/examples/sagemaker/text_classification/text_classification.ipynb
@@ -98,7 +98,15 @@
"metadata": {},
"outputs": [],
"source": [
- "import wandb\n",
+ "import wandb"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
"wandb.login()"
]
},
diff --git a/examples/streamlit/requirements.txt b/examples/streamlit/requirements.txt
index caffbe21..9566dd96 100644
--- a/examples/streamlit/requirements.txt
+++ b/examples/streamlit/requirements.txt
@@ -21,14 +21,14 @@ defusedxml==0.7.1
docker-pycreds==0.4.0
entrypoints==0.3
gitdb==4.0.9
-GitPython==3.1.34
+GitPython==3.1.41
idna==3.3
ipykernel==6.5.0
ipython==8.10.0
ipython-genutils==0.2.0
ipywidgets==7.6.5
jedi==0.18.0
-Jinja2==3.0.2
+Jinja2==3.1.3
jsonschema==4.1.2
jupyter-client==7.0.6
jupyter-core==4.11.2
@@ -50,14 +50,14 @@ parso==0.8.2
pathtools==0.1.2
pexpect==4.8.0
pickleshare==0.7.5
-Pillow==9.0.1
+Pillow==10.0.1
prometheus-client==0.12.0
promise==2.3
prompt-toolkit==3.0.21
protobuf==3.19.5
psutil==5.8.0
ptyprocess==0.7.0
-pyarrow==6.0.0
+pyarrow==14.0.1
pycodestyle==2.8.0
pycparser==2.20
pydeck==0.7.1
@@ -76,7 +76,7 @@ sentry-sdk==1.14.0
shortuuid==1.0.1
six==1.16.0
smmap==5.0.0
-streamlit==1.11.1
+streamlit==1.30.0
subprocess32==3.5.4
termcolor==1.1.0
terminado==0.12.1
@@ -88,7 +88,7 @@ traitlets==5.1.1
typing-extensions==3.10.0.2
tzdata==2021.5
tzlocal==4.1
-urllib3==1.26.7
+urllib3==1.26.18
validators==0.18.2
wandb==0.12.6
watchdog==2.1.6