{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Asulwwv3wZ39"
   },
   "source": [
    "# QA Generator\n",
    "\n",
    "Creates a set of questions and answers to a given paragraph. Allows for sample topics, questions and answers for few-shot examples.\n",
    "A JSON input file with the following structure is required: (`paragraph` is the only required tag.)\n",
    "\n",
    "```json\n",
    "{\n",
    "  \"paragraphs\":\n",
    "  [{\n",
    "    \"text\": \"\",\n",
    "    \"topics\": [\"\"],\n",
    "    \"questions\": [\"\"],\n",
    "    \"answers\": [\"\"]\n",
    "  }]\n",
    "}\n",
    "```\n",
    "\n",
    "This notebook will run on a system with a single RTX3090 (24 GB vram) GPU. If you're using Colab, don't forget to change the Runtime to GPU-accelerated!\n",
    "\n",
    "Inference code and structure provided by @ontocord\n",
    "\n",
    "## Parameters\n",
    "\n",
    "(Only required to run once)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "cellView": "form",
    "id": "CSG86OEbkwsn"
   },
   "outputs": [],
   "source": [
    "model_hf_name = \"google/flan-t5-large\"  # @param {type:\"string\"}\n",
    "verbose = False  # @param {type:\"boolean\"}\n",
    "file_path = \"/content/paragraphs.json\"  # @param {type:\"string\"}\n",
    "output_path = \"/content/questions_dict.json\"  # @param {type:\"string\"}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "TN0dDoNAngUM"
   },
   "source": [
    "## Setup\n",
    "\n",
    "(Only required to run once)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "5MUlZr46cYwn"
   },
   "source": [
    "### Setup the necessary libraries and dictionaries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "GttFRKzOuDcp",
    "outputId": "d3b5e3ab-5f0d-4a9f-d683-3b6db152df01"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
      "Collecting accelerate\n",
      "  Downloading accelerate-0.16.0-py3-none-any.whl (199 kB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m199.7/199.7 KB\u001b[0m \u001b[31m8.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
      "\u001b[?25hRequirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from accelerate) (23.0)\n",
      "Requirement already satisfied: torch>=1.4.0 in /usr/local/lib/python3.8/dist-packages (from accelerate) (1.13.1+cu116)\n",
      "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from accelerate) (1.22.4)\n",
      "Requirement already satisfied: psutil in /usr/local/lib/python3.8/dist-packages (from accelerate) (5.4.8)\n",
      "Requirement already satisfied: pyyaml in /usr/local/lib/python3.8/dist-packages (from accelerate) (6.0)\n",
      "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from torch>=1.4.0->accelerate) (4.5.0)\n",
      "Installing collected packages: accelerate\n",
      "Successfully installed accelerate-0.16.0\n",
      "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
      "Collecting bitsandbytes\n",
      "  Downloading bitsandbytes-0.37.0-py3-none-any.whl (76.3 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.3/76.3 MB\u001b[0m \u001b[31m11.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
      "\u001b[?25hInstalling collected packages: bitsandbytes\n",
      "Successfully installed bitsandbytes-0.37.0\n",
      "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
      "Collecting transformers\n",
      "  Downloading transformers-4.26.1-py3-none-any.whl (6.3 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m65.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
      "\u001b[?25hRequirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n",
      "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.22.4)\n",
      "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n",
      "Collecting huggingface-hub<1.0,>=0.11.0\n",
      "  Downloading huggingface_hub-0.12.1-py3-none-any.whl (190 kB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m190.3/190.3 KB\u001b[0m \u001b[31m25.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
      "\u001b[?25hCollecting tokenizers!=0.11.3,<0.14,>=0.11.1\n",
      "  Downloading tokenizers-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.6 MB)\n",
      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.6/7.6 MB\u001b[0m \u001b[31m14.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
      "\u001b[?25hRequirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n",
      "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n",
      "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n",
      "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n",
      "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.5.0)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n",
      "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.26.14)\n",
      "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n",
      "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n",
      "Installing collected packages: tokenizers, huggingface-hub, transformers\n",
      "Successfully installed huggingface-hub-0.12.1 tokenizers-0.13.2 transformers-4.26.1\n"
     ]
    }
   ],
   "source": [
    "# Install with pip\n",
    "!pip install accelerate\n",
    "!pip install bitsandbytes\n",
    "!pip install transformers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "id": "Vy9JKO8pKda8"
   },
   "outputs": [],
   "source": [
    "# Load all necessary libraries\n",
    "import math\n",
    "import pickle\n",
    "import time\n",
    "import torch\n",
    "import random\n",
    "import json\n",
    "\n",
    "from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, AutoModel\n",
    "from torch.nn.functional import cosine_similarity\n",
    "\n",
    "# This device map will work a GPU with > 24GB vram. It uses nearly all memory.\n",
    "device_map_T5_13B = {\n",
    "    \"shared\": 0,\n",
    "    \"decoder.embed_tokens\": 0,\n",
    "    \"encoder.embed_tokens\": 0,\n",
    "    \"encoder.block.0\": 0,\n",
    "    \"encoder.block.1\": 0,\n",
    "    \"encoder.block.2\": 0,\n",
    "    \"encoder.block.3\": 0,\n",
    "    \"encoder.block.4\": 0,\n",
    "    \"encoder.block.5\": 0,\n",
    "    \"encoder.block.6\": 0,\n",
    "    \"encoder.block.7\": 0,\n",
    "    \"encoder.block.8\": 0,\n",
    "    \"encoder.block.9\": 0,\n",
    "    \"encoder.block.10\": 0,\n",
    "    \"encoder.block.11\": 0,\n",
    "    \"encoder.block.12\": 0,\n",
    "    \"encoder.block.13\": 0,\n",
    "    \"encoder.block.14\": 0,\n",
    "    \"encoder.block.15\": 0,\n",
    "    \"encoder.block.16\": 0,\n",
    "    \"encoder.block.17\": 0,\n",
    "    \"encoder.block.18\": 0,\n",
    "    \"encoder.block.19\": 0,\n",
    "    \"encoder.block.20\": 0,\n",
    "    \"encoder.block.21\": 0,\n",
    "    \"encoder.block.22\": 0,\n",
    "    \"encoder.block.23\": 0,\n",
    "    \"encoder.final_layer_norm\": 0,\n",
    "    \"encoder.dropout\": 0,\n",
    "    \"decoder.block.0\": 0,\n",
    "    \"decoder.block.1\": 0,\n",
    "    \"decoder.block.2\": 0,\n",
    "    \"decoder.block.3\": 0,\n",
    "    \"decoder.block.4\": 0,\n",
    "    \"decoder.block.5\": 0,\n",
    "    \"decoder.block.6\": 0,\n",
    "    \"decoder.block.7\": 0,\n",
    "    \"decoder.block.8\": 0,\n",
    "    \"decoder.block.9\": 0,\n",
    "    \"decoder.block.10\": 0,\n",
    "    \"decoder.block.11\": 0,\n",
    "    \"decoder.block.12\": 0,\n",
    "    \"decoder.block.13\": 0,\n",
    "    \"decoder.block.14\": 0,\n",
    "    \"decoder.block.15\": 0,\n",
    "    \"decoder.block.16\": 0,\n",
    "    \"decoder.block.17\": 0,\n",
    "    \"decoder.block.18\": 0,\n",
    "    \"decoder.block.19\": 0,\n",
    "    \"decoder.block.20\": 0,\n",
    "    \"decoder.block.21\": 0,\n",
    "    \"decoder.block.22\": 0,\n",
    "    \"decoder.block.23\": 0,\n",
    "    \"decoder.final_layer_norm\": 0,\n",
    "    \"decoder.dropout\": 0,\n",
    "    \"lm_head\": 0,\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "xu1j3-jdcKyx"
   },
   "source": [
    "### Load Large Language Model from Hugging Face"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 0,
     "referenced_widgets": [
      "2c62f62ac06e442385575fdd6148f0f3",
      "49cd7e6463e54434977a12cad59109de",
      "3da4c28fbe7f4a5b82913c8fb36dcf00",
      "06fc988dd4584a9cb566f7a0f1fc493a",
      "283dbe72f8ab4a748ca8eb5a2a64e95b",
      "3666daa80dde49bc9a69d0a56e3f857d",
      "bd399038150a4ed1b84cb3cb348ddbaa",
      "3261ac2c84774465b866672889cf2bce",
      "807b43e211754dd081e4ad7a45bc93b8",
      "3e9932c5b8ad45dba7a7790ce602c195",
      "afbaab55bf5d455ebb6f4a46ea2fcf69",
      "bccdb441937048ca8aff896ceee11d79",
      "7c34c319972546a9814324d7662da2ee",
      "2f90810b8c314e768bc892bd62298a5d",
      "c940638b37c94b319b46a66c3bc9626e",
      "06a7b2851700483084deaa1cf467b489",
      "509a1e96c7d0425e81b9970850046cd8",
      "09689d4970ad4d899dc94fc19eff66ae",
      "7e639a19120f41df95ba13a66d393512",
      "c0e36894917443379bbe6035c9f0aad4",
      "4207c6a983b74eda8285f3b929d9d50c",
      "6f8d95be1e6745dc8c140815e0fdcf72",
      "832aa56cfb224a6fbd491448f93b1d43",
      "8693fe22c48d4a80a10837430099eed0",
      "d70171ebec494163938e36605a27200e",
      "6ae8a2b3d7e54b18906349fef5e191e6",
      "dbe76b3217ac4657923131a289a3225a",
      "bc2f9972dfa946a1aa42e4cf5fa26bc8",
      "6f10ff977db1437f9a8150b58c368027",
      "6df5127ee271414994942e15283675e1",
      "e80da9494b0a4d6ba4d0397befcff05e",
      "953cdf375d6a43e98f8c4fbbcc9ecafa",
      "983e2a8ae6f4489b9ffc1cd470d0fba0",
      "814c7b3a8afa45fa8687e4bf060b9540",
      "171ac482dd8740fc84885243e2f8fc87",
      "6e2fe96f262943f2bdd8b10b373436f3",
      "d1d8496cb96245d6b30a271aa226cf56",
      "90c937d96fa44573aed13e48e553aae0",
      "3ab56b1c5266460396f36664aeb5f4ce",
      "d3bc1ab67a0f49baaaf1accddfa661a1",
      "e4ebe76f9e594a13b44247c73f64b6cd",
      "b832963c9b3f45729e57c27934ea5d4f",
      "aa3fd34bd14d4529aa0f9364f06b09d0",
      "f6cd564cdb244f57b62cd8b92f7b4db7",
      "090bcdf5527d4ea588ea56545862d401",
      "44015d4eb11c4ff7a8ad5e3f70d5202f",
      "f07beb4e9abf44eba1e4d3454e0cf778",
      "9ee2a6824bbc48d58ae20b52ae11eaeb",
      "365bd16ec41d4049be2b7c68b8ea91ac",
      "c4443716452d44b9ba6a9d70c4949bcd",
      "6a8631a4dd2045d1b5d6dc95f867eac4",
      "a2acd7c499ef49da953b0b7a598d2204",
      "11827528188d492eb055f09767f65466",
      "56abbe55eb4c45bc9f5066c6ead39041",
      "f1f7d6353b9648faa5592c3f1fb844e4",
      "5d0e5a504db1435586be379726fff3c4",
      "612bca7574db406fb8b5d219108a9338",
      "f50bbf5f8de842fd8295e47681c1445e",
      "5438a80971d04925b5838e84c0be790c",
      "3771c97b170644a8b2606c2e28313399",
      "09428d578f04432c8d65603aba4b127f",
      "ae9be6b5d9974f3aa1fff4d9d9811db2",
      "a9981e4112954ab39333ecdce0209cd2",
      "0122c94a616940019baad7d5c59a887a",
      "214c5c6107944b2985516c30cf42bff8",
      "3b312fa1e9b14579b8de13993027ac19",
      "9d26fce231914d10b577c3ba63ed3d83",
      "1912458c407741fb813d6d31e51bac52",
      "88319bed7bd64cc586c5c2afe844cbf7",
      "dbb0116fedc9443fb6a16c14df6e0e81",
      "78ab6382244e4ac7a0c3c351045ad4d4",
      "0f5a8187ca4e442d864d9de80073fc4a",
      "c2a916f5b1a54ec7af73d80c01723e4c",
      "315ad6b9de6f4ed986e86256b4b341cc",
      "18159d2240a94bc1b459123a5dda3463",
      "1eb8b60785214cdbbfa8f2e94485aec7",
      "11db43a55bd549e8b8c2f61078705785",
      "3ca5a3b1c3a74f63ae653f7636600ef4",
      "0e39a131e3e74d95b628aa9431f5ba77",
      "11910a9865bb41af8adb6c0f15b2f5c5",
      "3f103771cc844d408c4a832ce6b00c43",
      "2d8fc7378d1543a8b6a2d1f8adb7b13c",
      "dde880ceb5dd4a879aad87e8cc6d096b",
      "8d6e9a4acc3442c49100d8cd12ac939f",
      "a6cf1d7844854c469b8cbd657047dff5",
      "a0c4a8cbe3a7445287d31bc2a0478f88",
      "2bf7431331be49eca4f1670502f4ed01",
      "98f26be97d284f19bd142ef7c68ac2a2",
      "109f60420a294735965724b557f37283",
      "7c0cf588e4ed43aa8bd53b7de21ca8fe",
      "d7390762f33c4e7aa1b68950c01eb0e4",
      "ac0709ddb3aa456da430738234e9b7b9",
      "0f97acdb0793412583376e4ec3a83000",
      "e223a6ac2e4f413785cdf7ae9e22145d",
      "8bd747ca955d4af7b5fcdfb36648aa06",
      "44e8213fce64427597c9b0d9a96dda6a",
      "5842c382af3244aa8d18c5b9f309d8d3",
      "e903c82e1d5e48b4bc8ad66a220d8e78",
      "c2ec5da6963c40dcb1a4a625ed3cf9d0",
      "c4892f0c1c9f4920963dc5300ec9ef68",
      "a6ff338878eb4a428e870b9b45b51d2f",
      "7c613a8dca134953952eb04c0686751a",
      "6c77bc8def84423893a96ae7ee6ba70e",
      "72ce8d5c6d7445559109b0932629040f",
      "8b57ab8e02514f7a914f60b5727b9b02",
      "9946bff612284b3b91b8a8a4c8e3a0f2",
      "14cb5b327ef342d189b3bba91a960881",
      "1e2eafa312c14837ac93c399be5f148d",
      "a4ff2e2b3e444c638b3afec4c49d18c2",
      "10b65c991e014f2ab47ea1e66134370f",
      "93ef72fc9ddb41fdb6eef12b67ab5e9b",
      "68cf08edf636490a936d062027d40bd7",
      "5eb1965ade2a468b84c41ed5621d733c",
      "3c73f63144d544d581cdf779c9448ad0",
      "0d03382fd93c40039b4d901c2255fb7b",
      "9dbe43566103460c8f6d4d572e7e1869",
      "83b1e5b6cf3645369e83fa444619f4a7",
      "8f4ffc3c076643faae23c75e9c76d0bd",
      "f88c249d51fd4f869ec65ce4ddac3a11",
      "c31c680757c74dd68dae7378f76c4da6",
      "6a3199ae236f401a938b4dd9bd767590",
      "5e3bdd8382264c5cb097284e4a92f760",
      "6efc4dba67e74940a89f0593f0efb7c2",
      "21b4a0e9e9ce4667b7b20f93fd00d99d",
      "a3cff2d1acab43bcbcc674e2cf3da39d",
      "cbae0c2c2a8d4138bc36f93eb60dd15a",
      "ce9c6563d1d94e7084f230a667fb89b1",
      "007fc89ab17d478e8e803440b181120d",
      "124e4db31f9e4f5ebb755584d8d1e05e",
      "eeb0676887f140ffb239faacb20b9194",
      "f9bfa425e00440658b658c35a695cb34",
      "f2399d7dca3c4683a14ec38694ac5beb",
      "e6116c18165b488abef77ec20c1bdc96",
      "56f7460f3d264e2aa752b203830c6fa2",
      "9c633e70548e4eaea1f90fc845650375",
      "61c8a73e75aa4f68958cf52dcc0bd5b2",
      "549f5eaa451f42ad85ee71a5cfb78188",
      "e50a6c12f613458086c1ae92a03bacb6",
      "eb6bb871f3c94def8fee6017999291f6",
      "94418493347d45e8bebe003d374126da",
      "e153a96825e249cb912757152461bc28",
      "611453ca60fb41b8ac748e5b7b5f81d4",
      "8bcb9195ab0b4f3981aaf3dc52322428"
     ]
    },
    "id": "0Yn7IO8pJi99",
    "outputId": "ae4dd996-a2c4-4abb-c1a7-b48e0c9edddb"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2c62f62ac06e442385575fdd6148f0f3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)okenizer_config.json:   0%|          | 0.00/2.54k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bccdb441937048ca8aff896ceee11d79",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)\"spiece.model\";:   0%|          | 0.00/792k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "832aa56cfb224a6fbd491448f93b1d43",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)/main/tokenizer.json:   0%|          | 0.00/2.42M [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "814c7b3a8afa45fa8687e4bf060b9540",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)cial_tokens_map.json:   0%|          | 0.00/2.20k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "090bcdf5527d4ea588ea56545862d401",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)lve/main/config.json:   0%|          | 0.00/662 [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5d0e5a504db1435586be379726fff3c4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)\"pytorch_model.bin\";:   0%|          | 0.00/3.13G [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9d26fce231914d10b577c3ba63ed3d83",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)neration_config.json:   0%|          | 0.00/147 [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3ca5a3b1c3a74f63ae653f7636600ef4",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)okenizer_config.json:   0%|          | 0.00/350 [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "109f60420a294735965724b557f37283",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)solve/main/vocab.txt:   0%|          | 0.00/232k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "c4892f0c1c9f4920963dc5300ec9ef68",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)/main/tokenizer.json:   0%|          | 0.00/466k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "93ef72fc9ddb41fdb6eef12b67ab5e9b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)cial_tokens_map.json:   0%|          | 0.00/112 [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5e3bdd8382264c5cb097284e4a92f760",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)lve/main/config.json:   0%|          | 0.00/612 [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e6116c18165b488abef77ec20c1bdc96",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading (…)\"pytorch_model.bin\";:   0%|          | 0.00/90.9M [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Load the model in bfloat16. Make sure to use bfloat16\n",
    "# if you are doing inference with 16bit precision.\n",
    "try:\n",
    "    if tokenizer is not None:\n",
    "        pass\n",
    "except:\n",
    "    tokenizer = AutoTokenizer.from_pretrained(model_hf_name)\n",
    "    model = AutoModelForSeq2SeqLM.from_pretrained(\n",
    "        model_hf_name,\n",
    "        device_map=device_map_T5_13B,\n",
    "        torch_dtype=torch.bfloat16,\n",
    "        load_in_8bit=False,\n",
    "    )\n",
    "    minilm_tokenizer = AutoTokenizer.from_pretrained(\"sentence-transformers/all-MiniLM-L6-v2\")\n",
    "    minilm_model = AutoModel.from_pretrained(\"sentence-transformers/all-MiniLM-L6-v2\").half().eval().cuda()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "XheTN3ixcDu1"
   },
   "source": [
    "### Define the functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "id": "6Fg6Eh-QfR7a"
   },
   "outputs": [],
   "source": [
    "# Inference\n",
    "\n",
    "\n",
    "def Write_Line(name, value):\n",
    "    name_stripped = name.strip\n",
    "    value_stripped = value.strip\n",
    "    output = \"{}:\\n{}\\n\"\n",
    "    return output.format(name_stripped, value_stripped)\n",
    "\n",
    "\n",
    "# ask_flan_T5 takes a text input and returns the\n",
    "# response of FLAN_T5 and a normalized logits\n",
    "# score for the generation.\n",
    "# Input: input_text (string): A string used as the prompt directed to the model\n",
    "# Output: out_tuple (tuple): A list of string-float pairs that contain results and the normalized logit\n",
    "def ask_flan_T5(input_text):\n",
    "    inputs = tokenizer.encode(input_text, return_tensors=\"pt\").cuda(0)\n",
    "    outputs = model.generate(\n",
    "        inputs,\n",
    "        do_sample=True,\n",
    "        top_p=0.95,\n",
    "        eos_token_id=1,\n",
    "        max_new_tokens=50,\n",
    "        bos_token_id=0,\n",
    "        temperature=0.9,\n",
    "        return_dict_in_generate=True,\n",
    "        output_scores=True,\n",
    "    )\n",
    "    out_text = tokenizer.decode(outputs.sequences[0], skip_special_tokens=True)\n",
    "    probs = torch.stack(outputs.scores, dim=1).softmax(-1)\n",
    "    for i in outputs.sequences:\n",
    "        logprobs = 0\n",
    "        counter = 0\n",
    "        for k in i[1:]:\n",
    "            word_prob = (round(probs[0][counter][k.item()].item(), 2)) + 0.001\n",
    "            logprobs = logprobs + math.log(word_prob)\n",
    "            counter += 1\n",
    "        out_tuple = (out_text, round(logprobs, 2))\n",
    "    return out_tuple\n",
    "\n",
    "\n",
    "# ask_flan_T5D is a function that takes an input text and\n",
    "# returns the deterministic(do_sample=False) output of\n",
    "# FLAN_T5 and logits.\n",
    "def ask_flan_T5D(input_text):\n",
    "    inputs = tokenizer.encode(input_text, return_tensors=\"pt\").cuda(0)\n",
    "    outputs = model.generate(\n",
    "        inputs,\n",
    "        do_sample=False,\n",
    "        eos_token_id=1,\n",
    "        max_new_tokens=50,\n",
    "        bos_token_id=0,\n",
    "        return_dict_in_generate=True,\n",
    "        output_scores=True,\n",
    "    )\n",
    "    out_text = tokenizer.decode(outputs.sequences[0], skip_special_tokens=True)\n",
    "    probs = torch.stack(outputs.scores, dim=1).softmax(-1)\n",
    "    for i in outputs.sequences:\n",
    "        logprobs = 0\n",
    "        counter = 0\n",
    "        for k in i[1:]:\n",
    "            word_prob = (round(probs[0][counter][k.item()].item(), 2)) + 0.001\n",
    "            logprobs = logprobs + math.log(word_prob)\n",
    "            counter += 1\n",
    "        out_tuple = (out_text, round(logprobs, 2))\n",
    "    return out_tuple"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "id": "30WgsK2LfvW5"
   },
   "outputs": [],
   "source": [
    "# Topics\n",
    "\n",
    "\n",
    "def Get_Topics(paragraph_dict):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        topic_list = Get_Topic(paragraph_dict[id])\n",
    "        output_dict[id] = topic_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Topic(paragraph_item):\n",
    "    topic_list = generate_topic(paragraph_item)\n",
    "    return topic_list\n",
    "\n",
    "\n",
    "# Generate a topic classifier for a paragraph of text\n",
    "def generate_topic(paragraph):\n",
    "    paragraph_text = paragraph[\"paragraph\"]\n",
    "    sample_topics = paragraph[\"sample topics\"]\n",
    "\n",
    "    samples = \"\"\n",
    "    if len(sample_topics) > 0:\n",
    "        k = random.randint(0, len(sample_topics) - 1)\n",
    "        samples += Write_Line(\"Topic\", sample_topics[k])\n",
    "\n",
    "    results = set()\n",
    "    input_text = (\n",
    "        \"Task: Create a topic classifier for the provided paragraph.\\\n",
    "    \\nParagraph:\\n\"\n",
    "        + paragraph_text\n",
    "        + \"\\n\"\n",
    "        + samples\n",
    "        + \"Topic:\\n\"\n",
    "    )\n",
    "\n",
    "    for k in range(0, 20):\n",
    "        result = ask_flan_T5(input_text)\n",
    "        if result[1] > -4:\n",
    "            results.add(result)\n",
    "    if len(results) < 3:\n",
    "        results.add((\"I was wondering\", -3.3))\n",
    "        results.add((\"I have a question\", -3.3))\n",
    "\n",
    "    sorted_results = Sort_Tuple(list(results))\n",
    "    return sorted_results[0:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "id": "92VQci_Lf00B"
   },
   "outputs": [],
   "source": [
    "# Prefixes\n",
    "\n",
    "\n",
    "def Get_Prefixes(paragraph_dict):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        prefix_list = Get_Prefix(paragraph_dict, id)\n",
    "        output_dict[id] = prefix_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Prefix(paragraph_dict, id):\n",
    "    prefix_list = generate_topic_prefix(paragraph_dict[id])\n",
    "    return prefix_list\n",
    "\n",
    "\n",
    "# Generate a topic classifier for a paragraph of text\n",
    "def generate_topic_prefix(topic_set):\n",
    "    results = set()\n",
    "    for entry in topic_set:\n",
    "        topic = entry[0]\n",
    "        input_text = (\n",
    "            \"Task: Create a prepositional phrase about the topic.\\n\\\n",
    "      Example 1\\n Topic: Climbing Mount Everest\\nPrepositional \\\n",
    "      Phrase: With regards to climbing Mount Everest,\\nExample \\\n",
    "      2\\nTopic: United States Air Force\\nPrepositional Phrase: \\\n",
    "      On the topic of the United States Air Force,\\n Example 3\\nTopic: \"\n",
    "            + topic\n",
    "            + \"\\nPrepositional Phrase: \"\n",
    "        )\n",
    "        for k in range(0, 5):\n",
    "            results.add(ask_flan_T5(input_text))\n",
    "\n",
    "        sorted_results = Sort_Tuple(list(results))\n",
    "        return sorted_results[0:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "id": "eBR3Lhysf4jz"
   },
   "outputs": [],
   "source": [
    "# Questions\n",
    "\n",
    "\n",
    "def Get_Questions(paragraph_dict, number_of_questions):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        question_list = Get_Question(paragraph_dict, id, number_of_questions)\n",
    "        output_dict[id] = question_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Question(paragraph_dict, id, number_of_questions):\n",
    "    question_list = generate_questions(paragraph_dict[id], number_of_questions)\n",
    "    return question_list\n",
    "\n",
    "\n",
    "# Generate who/what/where/when/why questions from a paragraph.\n",
    "# Number of questions variable is an integer which indicates how\n",
    "# many of each question type to try to generate.\n",
    "def generate_questions(paragraph, number_of_questions):\n",
    "    paragraph_text = paragraph[\"paragraph\"]\n",
    "\n",
    "    if len(tokenizer.encode(paragraph_text)) > 480:\n",
    "        print(\"Warning, the context length is too long.\")\n",
    "    question_set = set()\n",
    "    question_types = [\"What\", \"Where\", \"Why\", \"How\", \"How much\", \"Who\", \"When\", \"Which\"]\n",
    "    for qtype in question_types:\n",
    "        question = (\n",
    "            \"Please generate a question that starts with '\"\n",
    "            + qtype\n",
    "            + \"' based on the following paragraph.\\nText:\\n\"\n",
    "            + paragraph_text\n",
    "            + \"\\nQuestion:\\n\"\n",
    "        )\n",
    "        for k in range(0, number_of_questions):\n",
    "            new_question = ask_flan_T5(question)\n",
    "            if qtype in new_question[0]:\n",
    "                question_set.add((qtype, new_question))\n",
    "    return question_set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "id": "M5YRePLIf67T"
   },
   "outputs": [],
   "source": [
    "# Answers\n",
    "\n",
    "\n",
    "def Get_Answers(paragraph_dict, question_dict):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        answer_list = Get_Answer(paragraph_dict, id, question_dict[id])\n",
    "        output_dict[id] = answer_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Answer(paragraph_dict, id, question_list):\n",
    "    answer_list = generate_answers(paragraph_dict[id], question_list)\n",
    "    return answer_list\n",
    "\n",
    "\n",
    "# Generate answers for a set of questions.\n",
    "# Input is the paragraph of text and a set of questions where each question\n",
    "# is a tuple generated from the generate_questions() function.\n",
    "def generate_answers(paragraph, question_set):\n",
    "    paragraph_text = paragraph[\"paragraph\"]\n",
    "    sample_questions = paragraph[\"sample questions\"]\n",
    "    sample_answers = paragraph[\"sample answers\"]\n",
    "\n",
    "    possible_answers = set()\n",
    "    for question in question_set:\n",
    "        samples = \"\"\n",
    "\n",
    "        if len(sample_questions) > 0:\n",
    "            k = random.randint(0, len(sample_questions) - 1)\n",
    "            samples += Write_Line(\"Question\", sample_questions[k])\n",
    "            samples += Write_Line(\"Answer\", sample_answers[k])\n",
    "\n",
    "        input_text = (\n",
    "            \"Please read the following paragraph and \\\n",
    "      answer the question using only data \\\n",
    "      found in the text. If no answer is possible, respond \\\n",
    "      'NA'.\\nParagraph:\\n\"\n",
    "            + paragraph_text\n",
    "            + \"\\n\"\n",
    "            + samples\n",
    "            + \"Question:\\n\"\n",
    "            + question[1][0]\n",
    "            + \"\\nAnswer:\\n\"\n",
    "        )\n",
    "        answer = ask_flan_T5D(input_text)\n",
    "        possible_answers.add((question[0], question[1], answer))\n",
    "    return possible_answers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "id": "M9JdhvCbf8oH"
   },
   "outputs": [],
   "source": [
    "# Deduced Questions\n",
    "\n",
    "\n",
    "def Get_Questions2(paragraph_dict, answer_dict):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        question2_list = Get_Question2(paragraph_dict, id, answer_dict[id])\n",
    "        output_dict[id] = question2_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Question2(paragraph_dict, id, answer_list):\n",
    "    question2_list = generate_question2(paragraph_dict[id], answer_list)\n",
    "    return question2_list\n",
    "\n",
    "\n",
    "# Generate questions from a paragraph and set of answers.\n",
    "# Input is the paragraph of text and a set of answers where each question\n",
    "# is a tuple generated from the generate_answers() function.\n",
    "def generate_question2(paragraph, qa_set):\n",
    "    paragraph_text = paragraph[\"paragraph\"]\n",
    "    sample_questions = paragraph[\"sample questions\"]\n",
    "    sample_answers = paragraph[\"sample answers\"]\n",
    "\n",
    "    qaq_results = set()\n",
    "    for qa_item in qa_set:\n",
    "        samples = \"\"\n",
    "        if len(sample_questions) > 0:\n",
    "            k = random.randint(0, len(sample_questions) - 1)\n",
    "            samples += Write_Line(\"Answer\", sample_answers[k])\n",
    "            samples += Write_Line(\"Question\", sample_questions[k])\n",
    "\n",
    "        answer = qa_item[2][0]\n",
    "        input_text = (\n",
    "            \"Please read the following paragraph and \\\n",
    "      generate a question to the given answer.\"\n",
    "            + \"\\nParagraph:\\n\"\n",
    "            + paragraph_text\n",
    "            + \"\\n\"\n",
    "            + samples\n",
    "            + \"Answer:\\n\"\n",
    "            + answer\n",
    "            + \"\\nQuestion:\\n\"\n",
    "        )\n",
    "        result = ask_flan_T5D(input_text)\n",
    "        qaq_results.add((qa_item[0], qa_item[1], qa_item[2], result))\n",
    "    return qaq_results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "id": "RYmQQm3Gf_Sc"
   },
   "outputs": [],
   "source": [
    "# Answers to Deduced Questions\n",
    "\n",
    "\n",
    "def Get_Answers2(paragraph_dict, question2_dict):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        answer2_list = Get_Answer2(paragraph_dict, id, question2_dict[id])\n",
    "        output_dict[id] = answer2_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Answer2(paragraph_dict, id, question2_list):\n",
    "    answer_list = generate_answers2(paragraph_dict[id], question2_list)\n",
    "    return answer_list\n",
    "\n",
    "\n",
    "# Generate answers from a paragraph and set of questions.\n",
    "# Input is the paragraph of text and a set of questions where each answer\n",
    "# is a tuple generated from the generate_questions2() function.\n",
    "def generate_answers2(paragraph, question2_set):\n",
    "    paragraph_text = paragraph[\"paragraph\"]\n",
    "\n",
    "    possible_answers = set()\n",
    "    for qaq2_item in question2_set:\n",
    "        question2 = qaq2_item[3][0]\n",
    "        input_text = (\n",
    "            \"Please read the following paragraph and \\\n",
    "      then answer the question using only data \\\n",
    "      found in the text. If no answer is possible, respond \\\n",
    "      'NA'.\\nText:\\n\"\n",
    "            + paragraph_text\n",
    "            + \"\\nQuestion:\\n\"\n",
    "            + question2\n",
    "            + \"\\nAnswer:\\n\"\n",
    "        )\n",
    "        answer = ask_flan_T5D(input_text)\n",
    "        possible_answers.add((question2, answer))\n",
    "    return possible_answers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "id": "vNTUuC7tgBOk"
   },
   "outputs": [],
   "source": [
    "# Declaratives\n",
    "\n",
    "\n",
    "def Get_Declaratives(paragraph_dict, answer2_dict):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        declarative_list = Get_Declarative(answer2_dict[id])\n",
    "        output_dict[id] = declarative_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Declarative(answer2_list):\n",
    "    declarative_list = generate_declarative(answer2_list)\n",
    "    return declarative_list\n",
    "\n",
    "\n",
    "# Generate declarative statement from question and answer pair.\n",
    "def generate_declarative(qaq_set):\n",
    "    qaqd_results = set()\n",
    "    for qa_item in qaq_set:\n",
    "        question = qa_item[0]\n",
    "        answer = qa_item[1][0]\n",
    "        if \"NA\" in answer:\n",
    "            qaqd_results.add((question, answer, qa_item[1]))\n",
    "        else:\n",
    "            input_text = (\n",
    "                \"Generate a declarative statement based on the \\\n",
    "        given question and answer pair.\\nQ: What is \\\n",
    "        sitting on the couch?\\nA: poodle\\nA poodle is \\\n",
    "        sitting on the couch.\\nQ: \"\n",
    "                + question\n",
    "                + \"\\nA: \"\n",
    "                + answer\n",
    "                + \"\\n\"\n",
    "            )\n",
    "            result = ask_flan_T5D(input_text)\n",
    "            qaqd_results.add((question, answer, result))\n",
    "    return qaqd_results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "id": "9NmW-FkGgDjb"
   },
   "outputs": [],
   "source": [
    "# Closed Answers\n",
    "def Get_Closed_Answers(paragraph_dict, question2_dict, prefix_dict):\n",
    "    output_dict = {}\n",
    "    for id in paragraph_dict:\n",
    "        try:\n",
    "            prefix_list = prefix_dict[id]\n",
    "        except Exception:\n",
    "            prefix_list = None\n",
    "        closed_answer_list = Get_Closed_Answer(question2_dict[id], prefix_list)\n",
    "        output_dict[id] = closed_answer_list\n",
    "    return output_dict\n",
    "\n",
    "\n",
    "def Get_Closed_Answer(answer_list, prefix_list):\n",
    "    closed_answer_list = generate_closed_answer(answer_list, prefix_list)\n",
    "    return closed_answer_list\n",
    "\n",
    "\n",
    "# Generate closed book answer to question.\n",
    "def generate_closed_answer(qaqd_set, topic_prefix):\n",
    "    if topic_prefix:\n",
    "        topic_prefix = [a[0] for a in topic_prefix]\n",
    "        topic_prefix.sort(key=lambda a: len(a[0]), reverse=True)\n",
    "        topic_prefix = topic_prefix[0]\n",
    "    else:\n",
    "        topic_prefix = None\n",
    "    qaqd_results = set()\n",
    "    for qa_item in qaqd_set:\n",
    "        question = qa_item[0]\n",
    "        answer = qa_item[2][0]\n",
    "        if \"NA\" in answer:\n",
    "            if len(qa_item) == 3:\n",
    "                qaqd_results.add((qa_item[0], qa_item[1], qa_item[2], qa_item[2]))\n",
    "            else:\n",
    "                qaqd_results.add((qa_item[0], qa_item[1], qa_item[2], qa_item[2], qa_item[2]))\n",
    "            pass\n",
    "        else:\n",
    "            input_text = (\n",
    "                \"Task: Answer the question in a detailed fashion. \\\n",
    "        If the question cannot be answered without more \\\n",
    "        information, please answer NA.\\nExample 1:\\nQuestion: \\\n",
    "        Why does Shala like cookies?\\nAnswer: It is not possible \\\n",
    "        to know why Shala likes cookies without more information, \\\n",
    "        but many people that like cookies enjoy their taste or \\\n",
    "        some of their ingredients (e.g. chocolate chips or \\\n",
    "        peanut butter).\\nExample 2:\\nQuestion: Why would someone \\\n",
    "        vote in an election?\\nAnswer: There are many reasons \\\n",
    "        someone might vote in an election, for instance to have \\\n",
    "        their voice heard or to help a candidate they like win the \\\n",
    "        race.\\nExample 3\\nQuestion: What decoration goes on top of \\\n",
    "        a Christmas tree?\\nAnswer: Usually a star is placed at the \\\n",
    "        top of a Christmas tree.\\nExample 4:\\nQuestion: \"\n",
    "                + (question if topic_prefix is None else (topic_prefix + \" \" + question))\n",
    "                + \"\\nAnswer: \"\n",
    "            )\n",
    "            result = ask_flan_T5D(input_text)\n",
    "            if len(qa_item) == 3:\n",
    "                qaqd_results.add((qa_item[0], qa_item[1], qa_item[2], result))\n",
    "            else:\n",
    "                qaqd_results.add((qa_item[0], qa_item[1], qa_item[2], qa_item[3], result))\n",
    "    return qaqd_results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "id": "FR5pYI7z9vtW"
   },
   "outputs": [],
   "source": [
    "# Tools\n",
    "\n",
    "\n",
    "# Sort_Tuple sorts a list of tuples\n",
    "# by the second element.\n",
    "def Sort_Tuple(tup):\n",
    "    tup.sort(key=lambda x: x[1], reverse=True)\n",
    "    return tup\n",
    "\n",
    "\n",
    "def Lower_First_Char(input):\n",
    "    return input[0].lower() + input[1:]\n",
    "\n",
    "\n",
    "def Format_Answer(answer, score):\n",
    "    if score < 0.75:\n",
    "        output = \"I don't know. I cannot tell you the answer with the information I have.\"\n",
    "    elif score < 0.8:\n",
    "        output = \"I don't know for certain, but maybe \" + Lower_First_Char(answer)\n",
    "    elif score < 0.9:\n",
    "        output = \"I believe \" + Lower_First_Char(answer)\n",
    "    else:\n",
    "        output = answer\n",
    "    return output\n",
    "\n",
    "\n",
    "def mean_pooling(model_output, attention_mask):\n",
    "    with torch.no_grad():\n",
    "        token_embeddings = model_output.last_hidden_state\n",
    "        input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).to(token_embeddings.dtype)\n",
    "        return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)\n",
    "\n",
    "\n",
    "def Get_Mean_Vector(input):\n",
    "    toks = minilm_tokenizer(input, padding=True, truncation=True, return_tensors=\"pt\").to(\"cuda\")\n",
    "    dat = minilm_model(**toks)\n",
    "    dat = mean_pooling(dat, toks.attention_mask)\n",
    "    return dat\n",
    "\n",
    "\n",
    "def Truncate_String(input, length):\n",
    "    if len(input) > length:\n",
    "        input = input[: length - 3] + \"...\"\n",
    "    return input"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "id": "7Fi55fF5guwp"
   },
   "outputs": [],
   "source": [
    "# Dictionary Management\n",
    "\n",
    "\n",
    "# Discards paragraphs that are too long or don't have the same number of questions and answers.\n",
    "# Input: paragraphs (list): A list of dictionaries containing the text, sample questions and sample answers of a paragraph\n",
    "def Fix_Paragraphs(paragraphs):\n",
    "    fixed_paragraphs = []\n",
    "    for paragraph in paragraphs:\n",
    "        text = paragraph[\"text\"]\n",
    "        text_trunc = Truncate_String(text, 50)\n",
    "        questions = paragraph[\"questions\"]\n",
    "        answers = paragraph[\"answers\"]\n",
    "        if len(questions) != len(answers):\n",
    "            if verbose:\n",
    "                print(text_trunc, \"Questions and answers have to have the same number of items!\")\n",
    "            continue\n",
    "        if verbose:\n",
    "            print(text_trunc, len(text), \"chars\")\n",
    "        if len(text) > 0 and len(text) <= 1100:\n",
    "            fixed_paragraphs.append(paragraph)\n",
    "\n",
    "    print(\"\\nOriginal number of paragraphs:\", len(paragraphs))\n",
    "    print(\"Length filtered number of paragraphs:\", len(fixed_paragraphs))\n",
    "    return fixed_paragraphs\n",
    "\n",
    "\n",
    "def Init_Dictionary(paragraphs):\n",
    "    paragraph_dict = {}\n",
    "    uniq_id = 100000\n",
    "    for paragraph in paragraphs:\n",
    "        paragraph_dict[uniq_id] = {}\n",
    "        paragraph_dict[uniq_id][\"paragraph\"] = paragraph[\"text\"]\n",
    "        paragraph_dict[uniq_id][\"sample topics\"] = paragraph[\"topics\"]\n",
    "        paragraph_dict[uniq_id][\"sample questions\"] = paragraph[\"questions\"]\n",
    "        paragraph_dict[uniq_id][\"sample answers\"] = paragraph[\"answers\"]\n",
    "        uniq_id += 1\n",
    "    return paragraph_dict\n",
    "\n",
    "\n",
    "def Attach_Generated_Content(paragraph_dict, topic_dict, prefix_dict, prefix_answer_dict):\n",
    "    for id in paragraph_dict.keys():\n",
    "        paragraph_dict[id][\"topics\"] = topic_dict[id]\n",
    "        paragraph_dict[id][\"topic prepositions\"] = prefix_dict[id]\n",
    "        paragraph_dict[id][\"QA_set\"] = Get_QA_Dict(prefix_answer_dict[id])\n",
    "\n",
    "\n",
    "def Get_QA_Dict(prefix_answer_list):\n",
    "    k = 0\n",
    "    output_dict = {}\n",
    "    for entry in prefix_answer_list:\n",
    "        output_dict[k] = {}\n",
    "        output_dict[k][\"question\"] = entry[0]\n",
    "        output_dict[k][\"answer_T5_ob\"] = entry[2][0]\n",
    "        output_dict[k][\"answer_T5_cb\"] = entry[3][0]\n",
    "        output_dict[k][\"answer_T5_cb_with_prefix\"] = entry[4][0]\n",
    "\n",
    "        if output_dict[k][\"answer_T5_ob\"] == \"NA\":\n",
    "            output_dict[k][\n",
    "                \"answer_T5_answer\"\n",
    "            ] = \"Either I do not understand this question, or this question cannot be answered.\"\n",
    "        else:\n",
    "            answer_ob = output_dict[k][\"answer_T5_ob\"]\n",
    "            dat_ob = Get_Mean_Vector(answer_ob)\n",
    "\n",
    "            answer_cb = output_dict[k][\"answer_T5_cb\"]\n",
    "            dat_cb = Get_Mean_Vector(answer_cb)\n",
    "            score_cb = cosine_similarity(dat_ob, dat_cb).item()\n",
    "            output_dict[k][\"answer_T5_answer\"] = Format_Answer(answer_ob, score_cb)\n",
    "\n",
    "            answer_prefix_format = output_dict[k][\"answer_T5_answer\"]\n",
    "            if len(answer_cb) < len(output_dict[k][\"answer_T5_cb_with_prefix\"]):\n",
    "                answer_prefix = output_dict[k][\"answer_T5_cb_with_prefix\"]\n",
    "                dat_prefix = Get_Mean_Vector(answer_prefix)\n",
    "                score_prefix = cosine_similarity(dat_ob, dat_prefix).item()\n",
    "                if score_cb < score_prefix:\n",
    "                    answer_prefix_format = Format_Answer(answer_ob, score_prefix)\n",
    "\n",
    "            output_dict[k][\"answer_T5_answer_with_prefix\"] = answer_prefix_format\n",
    "        k += 1\n",
    "    return output_dict"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "XzTG7maBwh5R"
   },
   "source": [
    "## Processing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "dkVFJcUln63N"
   },
   "source": [
    "### Load the paragraphs from the input file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "uW6nEaosT0cv",
    "outputId": "22a0bf9a-68b2-4e94-f267-51b8f6262faa"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Original number of paragraphs: 2\n",
      "Length filtered number of paragraphs: 2\n"
     ]
    }
   ],
   "source": [
    "with open(file_path, \"rb\") as f:\n",
    "    f_text = f.read()\n",
    "    root = json.loads(f_text)\n",
    "\n",
    "paragraphs = root[\"paragraphs\"]\n",
    "paragraphs_fixed = Fix_Paragraphs(paragraphs)\n",
    "\n",
    "if len(paragraphs_fixed) == 0:\n",
    "    raise Exception(\"No valid paragraph found.\")\n",
    "\n",
    "paragraph_dict = Init_Dictionary(paragraphs_fixed)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "H6YYKBFunpls"
   },
   "source": [
    "### Generate the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "XRHVx5gWBHH1",
    "outputId": "03ef0897-233f-4ae1-e038-e0153b0ad1ae"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Topic generation time: 17.025415090000024\n"
     ]
    }
   ],
   "source": [
    "# @title Generate topics\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "topic_dict = Get_Topics(paragraph_dict)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Topic generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for topic_key in topic_dict:\n",
    "        print(\"  {}:\".format(topic_key))\n",
    "        print(*topic_dict[topic_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "FcoV2sJcBJe4",
    "outputId": "6bcc3c9a-3bba-49b8-fb6d-bd3bc08726d8"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Prefix generation time: 5.502972368999991\n"
     ]
    }
   ],
   "source": [
    "# @title Generate prefixes\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "prefix_dict = Get_Prefixes(topic_dict)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Prefix generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for prefix_key in prefix_dict:\n",
    "        print(\"  {}:\".format(prefix_key))\n",
    "        print(*prefix_dict[prefix_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "FftTI89xBKvv",
    "outputId": "59786a73-2825-44f3-da86-8615adf4af0d"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Question generation time: 51.220822607\n"
     ]
    }
   ],
   "source": [
    "# @title Generate questions\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "question_dict = Get_Questions(paragraph_dict, 2)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Question generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for question_key in question_dict:\n",
    "        print(\"  {}:\".format(question_key))\n",
    "        print(*question_dict[question_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "hWdQq__iBLvw",
    "outputId": "21c6df8f-b42b-4c5e-8fde-68b3f8072c8f"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Answer generation time: 9.709892459000002\n"
     ]
    }
   ],
   "source": [
    "# @title Generate answers\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "answer_dict = Get_Answers(paragraph_dict, question_dict)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Answer generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for answer_key in answer_dict:\n",
    "        print(\"  {}:\".format(answer_key))\n",
    "        print(*answer_dict[answer_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "bcPluP3bBMj_",
    "outputId": "17e4601d-75d0-4c19-d4f4-6bf3d22461db"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Question from answer generation time: 30.330094008000003\n"
     ]
    }
   ],
   "source": [
    "# @title Generate questions from answers\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "question2_dict = Get_Questions2(paragraph_dict, answer_dict)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Question from answer generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for question2_key in question2_dict:\n",
    "        print(\"  {}:\".format(question2_key))\n",
    "        print(*question2_dict[question2_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "QWNYUybAxOX7",
    "outputId": "bab751ce-af8a-48c3-ff09-4b70ae933dda"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Answer to question from answer generation time: 11.725093055999992\n"
     ]
    }
   ],
   "source": [
    "# @title Generate answers to questions from answers\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "answer2_dict = Get_Answers2(paragraph_dict, question2_dict)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Answer to question from answer generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for answer2_key in answer2_dict:\n",
    "        print(\"  {}:\".format(answer2_key))\n",
    "        print(*answer2_dict[answer2_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "5ASqGCE1zh7j",
    "outputId": "bc17a9dc-3587-4720-8c43-502791f88cd8"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Declarative generation time: 22.370470221000005\n"
     ]
    }
   ],
   "source": [
    "# @title Generate declaratives\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "declarative_dict = Get_Declaratives(paragraph_dict, answer2_dict)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Declarative generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for declarative_key in declarative_dict:\n",
    "        print(\"  {}:\".format(declarative_key))\n",
    "        print(*declarative_dict[declarative_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "sKuMttsc1x9a",
    "outputId": "a4e6cbb6-12b9-4864-f5fd-78cef2097abc"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Closed answer generation time: 18.742141874000026\n"
     ]
    }
   ],
   "source": [
    "# @title Generate closed answers\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "closed_answer_dict = Get_Closed_Answers(paragraph_dict, declarative_dict, None)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Closed answer generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for closed_answer_key in closed_answer_dict:\n",
    "        print(\"  {}:\".format(closed_answer_key))\n",
    "        print(*closed_answer_dict[closed_answer_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "cellView": "form",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "JeNHRbe_4Wjr",
    "outputId": "7c248f41-73b2-4701-e9cd-936a643d8f82"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Closed answer with prefix generation time: 11.897358118999989\n"
     ]
    }
   ],
   "source": [
    "# @title Generate closed answers with prefix\n",
    "\n",
    "start_time = time.perf_counter()\n",
    "\n",
    "prefix_answer_dict = Get_Closed_Answers(paragraph_dict, closed_answer_dict, prefix_dict)\n",
    "\n",
    "stop_time = time.perf_counter()\n",
    "generation_time = stop_time - start_time\n",
    "print(\"Closed answer with prefix generation time: \" + str(generation_time))\n",
    "\n",
    "if verbose:\n",
    "    for prefix_answer_key in prefix_answer_dict:\n",
    "        print(\"  {}:\".format(prefix_answer_key))\n",
    "        print(*prefix_answer_dict[prefix_answer_key], sep=\"\\n\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ApzBQHuknx0W"
   },
   "source": [
    "### Export to JSON"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "jfgFYmEQNEvu",
    "outputId": "54b30c1b-ac37-41f6-9101-8802a123346f"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saved output to /content/questions_dict.json\n"
     ]
    }
   ],
   "source": [
    "Attach_Generated_Content(paragraph_dict, topic_dict, prefix_dict, prefix_answer_dict)\n",
    "\n",
    "with open(output_path, \"w\") as output:\n",
    "    file = {\"paragraphs\": paragraph_dict}\n",
    "    output.write(json.dumps(file, indent=2))\n",
    "    print(\"Saved output to\", output_path)"
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "authorship_tag": "ABX9TyMkYLth2mAkfQ2CJkHhgUBx",
   "collapsed_sections": [
    "5MUlZr46cYwn",
    "dkVFJcUln63N"
   ],
   "provenance": []
  },
  "gpuClass": "standard",
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10.4"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "007fc89ab17d478e8e803440b181120d": {
     "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": ""
     }
    },
    "0122c94a616940019baad7d5c59a887a": {
     "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": ""
     }
    },
    "06a7b2851700483084deaa1cf467b489": {
     "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
     }
    },
    "06fc988dd4584a9cb566f7a0f1fc493a": {
     "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_3e9932c5b8ad45dba7a7790ce602c195",
      "placeholder": "​",
      "style": "IPY_MODEL_afbaab55bf5d455ebb6f4a46ea2fcf69",
      "value": " 2.54k/2.54k [00:00&lt;00:00, 34.9kB/s]"
     }
    },
    "090bcdf5527d4ea588ea56545862d401": {
     "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_44015d4eb11c4ff7a8ad5e3f70d5202f",
       "IPY_MODEL_f07beb4e9abf44eba1e4d3454e0cf778",
       "IPY_MODEL_9ee2a6824bbc48d58ae20b52ae11eaeb"
      ],
      "layout": "IPY_MODEL_365bd16ec41d4049be2b7c68b8ea91ac"
     }
    },
    "09428d578f04432c8d65603aba4b127f": {
     "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
     }
    },
    "09689d4970ad4d899dc94fc19eff66ae": {
     "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": ""
     }
    },
    "0d03382fd93c40039b4d901c2255fb7b": {
     "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
     }
    },
    "0e39a131e3e74d95b628aa9431f5ba77": {
     "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_dde880ceb5dd4a879aad87e8cc6d096b",
      "placeholder": "​",
      "style": "IPY_MODEL_8d6e9a4acc3442c49100d8cd12ac939f",
      "value": "Downloading (…)okenizer_config.json: 100%"
     }
    },
    "0f5a8187ca4e442d864d9de80073fc4a": {
     "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
     }
    },
    "0f97acdb0793412583376e4ec3a83000": {
     "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
     }
    },
    "109f60420a294735965724b557f37283": {
     "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_7c0cf588e4ed43aa8bd53b7de21ca8fe",
       "IPY_MODEL_d7390762f33c4e7aa1b68950c01eb0e4",
       "IPY_MODEL_ac0709ddb3aa456da430738234e9b7b9"
      ],
      "layout": "IPY_MODEL_0f97acdb0793412583376e4ec3a83000"
     }
    },
    "10b65c991e014f2ab47ea1e66134370f": {
     "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": ""
     }
    },
    "11827528188d492eb055f09767f65466": {
     "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": ""
     }
    },
    "11910a9865bb41af8adb6c0f15b2f5c5": {
     "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_a6cf1d7844854c469b8cbd657047dff5",
      "max": 350,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a0c4a8cbe3a7445287d31bc2a0478f88",
      "value": 350
     }
    },
    "11db43a55bd549e8b8c2f61078705785": {
     "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": ""
     }
    },
    "124e4db31f9e4f5ebb755584d8d1e05e": {
     "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
     }
    },
    "14cb5b327ef342d189b3bba91a960881": {
     "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
     }
    },
    "171ac482dd8740fc84885243e2f8fc87": {
     "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_3ab56b1c5266460396f36664aeb5f4ce",
      "placeholder": "​",
      "style": "IPY_MODEL_d3bc1ab67a0f49baaaf1accddfa661a1",
      "value": "Downloading (…)cial_tokens_map.json: 100%"
     }
    },
    "18159d2240a94bc1b459123a5dda3463": {
     "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": ""
     }
    },
    "1912458c407741fb813d6d31e51bac52": {
     "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_0f5a8187ca4e442d864d9de80073fc4a",
      "placeholder": "​",
      "style": "IPY_MODEL_c2a916f5b1a54ec7af73d80c01723e4c",
      "value": "Downloading (…)neration_config.json: 100%"
     }
    },
    "1e2eafa312c14837ac93c399be5f148d": {
     "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": ""
     }
    },
    "1eb8b60785214cdbbfa8f2e94485aec7": {
     "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
     }
    },
    "214c5c6107944b2985516c30cf42bff8": {
     "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
     }
    },
    "21b4a0e9e9ce4667b7b20f93fd00d99d": {
     "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_124e4db31f9e4f5ebb755584d8d1e05e",
      "max": 612,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_eeb0676887f140ffb239faacb20b9194",
      "value": 612
     }
    },
    "283dbe72f8ab4a748ca8eb5a2a64e95b": {
     "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
     }
    },
    "2bf7431331be49eca4f1670502f4ed01": {
     "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
     }
    },
    "2c62f62ac06e442385575fdd6148f0f3": {
     "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_49cd7e6463e54434977a12cad59109de",
       "IPY_MODEL_3da4c28fbe7f4a5b82913c8fb36dcf00",
       "IPY_MODEL_06fc988dd4584a9cb566f7a0f1fc493a"
      ],
      "layout": "IPY_MODEL_283dbe72f8ab4a748ca8eb5a2a64e95b"
     }
    },
    "2d8fc7378d1543a8b6a2d1f8adb7b13c": {
     "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
     }
    },
    "2f90810b8c314e768bc892bd62298a5d": {
     "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_7e639a19120f41df95ba13a66d393512",
      "max": 791656,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_c0e36894917443379bbe6035c9f0aad4",
      "value": 791656
     }
    },
    "315ad6b9de6f4ed986e86256b4b341cc": {
     "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
     }
    },
    "3261ac2c84774465b866672889cf2bce": {
     "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
     }
    },
    "365bd16ec41d4049be2b7c68b8ea91ac": {
     "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
     }
    },
    "3666daa80dde49bc9a69d0a56e3f857d": {
     "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
     }
    },
    "3771c97b170644a8b2606c2e28313399": {
     "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
     }
    },
    "3ab56b1c5266460396f36664aeb5f4ce": {
     "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
     }
    },
    "3b312fa1e9b14579b8de13993027ac19": {
     "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": ""
     }
    },
    "3c73f63144d544d581cdf779c9448ad0": {
     "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_c31c680757c74dd68dae7378f76c4da6",
      "placeholder": "​",
      "style": "IPY_MODEL_6a3199ae236f401a938b4dd9bd767590",
      "value": " 112/112 [00:00&lt;00:00, 3.99kB/s]"
     }
    },
    "3ca5a3b1c3a74f63ae653f7636600ef4": {
     "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_0e39a131e3e74d95b628aa9431f5ba77",
       "IPY_MODEL_11910a9865bb41af8adb6c0f15b2f5c5",
       "IPY_MODEL_3f103771cc844d408c4a832ce6b00c43"
      ],
      "layout": "IPY_MODEL_2d8fc7378d1543a8b6a2d1f8adb7b13c"
     }
    },
    "3da4c28fbe7f4a5b82913c8fb36dcf00": {
     "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_3261ac2c84774465b866672889cf2bce",
      "max": 2539,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_807b43e211754dd081e4ad7a45bc93b8",
      "value": 2539
     }
    },
    "3e9932c5b8ad45dba7a7790ce602c195": {
     "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
     }
    },
    "3f103771cc844d408c4a832ce6b00c43": {
     "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_2bf7431331be49eca4f1670502f4ed01",
      "placeholder": "​",
      "style": "IPY_MODEL_98f26be97d284f19bd142ef7c68ac2a2",
      "value": " 350/350 [00:00&lt;00:00, 14.9kB/s]"
     }
    },
    "4207c6a983b74eda8285f3b929d9d50c": {
     "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
     }
    },
    "44015d4eb11c4ff7a8ad5e3f70d5202f": {
     "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_c4443716452d44b9ba6a9d70c4949bcd",
      "placeholder": "​",
      "style": "IPY_MODEL_6a8631a4dd2045d1b5d6dc95f867eac4",
      "value": "Downloading (…)lve/main/config.json: 100%"
     }
    },
    "44e8213fce64427597c9b0d9a96dda6a": {
     "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
     }
    },
    "49cd7e6463e54434977a12cad59109de": {
     "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_3666daa80dde49bc9a69d0a56e3f857d",
      "placeholder": "​",
      "style": "IPY_MODEL_bd399038150a4ed1b84cb3cb348ddbaa",
      "value": "Downloading (…)okenizer_config.json: 100%"
     }
    },
    "509a1e96c7d0425e81b9970850046cd8": {
     "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
     }
    },
    "5438a80971d04925b5838e84c0be790c": {
     "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_214c5c6107944b2985516c30cf42bff8",
      "placeholder": "​",
      "style": "IPY_MODEL_3b312fa1e9b14579b8de13993027ac19",
      "value": " 3.13G/3.13G [00:19&lt;00:00, 260MB/s]"
     }
    },
    "549f5eaa451f42ad85ee71a5cfb78188": {
     "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
     }
    },
    "56abbe55eb4c45bc9f5066c6ead39041": {
     "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
     }
    },
    "56f7460f3d264e2aa752b203830c6fa2": {
     "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_e50a6c12f613458086c1ae92a03bacb6",
      "placeholder": "​",
      "style": "IPY_MODEL_eb6bb871f3c94def8fee6017999291f6",
      "value": "Downloading (…)&quot;pytorch_model.bin&quot;;: 100%"
     }
    },
    "5842c382af3244aa8d18c5b9f309d8d3": {
     "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": ""
     }
    },
    "5d0e5a504db1435586be379726fff3c4": {
     "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_612bca7574db406fb8b5d219108a9338",
       "IPY_MODEL_f50bbf5f8de842fd8295e47681c1445e",
       "IPY_MODEL_5438a80971d04925b5838e84c0be790c"
      ],
      "layout": "IPY_MODEL_3771c97b170644a8b2606c2e28313399"
     }
    },
    "5e3bdd8382264c5cb097284e4a92f760": {
     "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_6efc4dba67e74940a89f0593f0efb7c2",
       "IPY_MODEL_21b4a0e9e9ce4667b7b20f93fd00d99d",
       "IPY_MODEL_a3cff2d1acab43bcbcc674e2cf3da39d"
      ],
      "layout": "IPY_MODEL_cbae0c2c2a8d4138bc36f93eb60dd15a"
     }
    },
    "5eb1965ade2a468b84c41ed5621d733c": {
     "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_8f4ffc3c076643faae23c75e9c76d0bd",
      "max": 112,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_f88c249d51fd4f869ec65ce4ddac3a11",
      "value": 112
     }
    },
    "611453ca60fb41b8ac748e5b7b5f81d4": {
     "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
     }
    },
    "612bca7574db406fb8b5d219108a9338": {
     "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_09428d578f04432c8d65603aba4b127f",
      "placeholder": "​",
      "style": "IPY_MODEL_ae9be6b5d9974f3aa1fff4d9d9811db2",
      "value": "Downloading (…)&quot;pytorch_model.bin&quot;;: 100%"
     }
    },
    "61c8a73e75aa4f68958cf52dcc0bd5b2": {
     "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_611453ca60fb41b8ac748e5b7b5f81d4",
      "placeholder": "​",
      "style": "IPY_MODEL_8bcb9195ab0b4f3981aaf3dc52322428",
      "value": " 90.9M/90.9M [00:00&lt;00:00, 232MB/s]"
     }
    },
    "68cf08edf636490a936d062027d40bd7": {
     "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_9dbe43566103460c8f6d4d572e7e1869",
      "placeholder": "​",
      "style": "IPY_MODEL_83b1e5b6cf3645369e83fa444619f4a7",
      "value": "Downloading (…)cial_tokens_map.json: 100%"
     }
    },
    "6a3199ae236f401a938b4dd9bd767590": {
     "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": ""
     }
    },
    "6a8631a4dd2045d1b5d6dc95f867eac4": {
     "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": ""
     }
    },
    "6ae8a2b3d7e54b18906349fef5e191e6": {
     "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_953cdf375d6a43e98f8c4fbbcc9ecafa",
      "placeholder": "​",
      "style": "IPY_MODEL_983e2a8ae6f4489b9ffc1cd470d0fba0",
      "value": " 2.42M/2.42M [00:00&lt;00:00, 6.52MB/s]"
     }
    },
    "6c77bc8def84423893a96ae7ee6ba70e": {
     "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_a4ff2e2b3e444c638b3afec4c49d18c2",
      "placeholder": "​",
      "style": "IPY_MODEL_10b65c991e014f2ab47ea1e66134370f",
      "value": " 466k/466k [00:00&lt;00:00, 1.88MB/s]"
     }
    },
    "6df5127ee271414994942e15283675e1": {
     "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
     }
    },
    "6e2fe96f262943f2bdd8b10b373436f3": {
     "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_e4ebe76f9e594a13b44247c73f64b6cd",
      "max": 2201,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_b832963c9b3f45729e57c27934ea5d4f",
      "value": 2201
     }
    },
    "6efc4dba67e74940a89f0593f0efb7c2": {
     "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_ce9c6563d1d94e7084f230a667fb89b1",
      "placeholder": "​",
      "style": "IPY_MODEL_007fc89ab17d478e8e803440b181120d",
      "value": "Downloading (…)lve/main/config.json: 100%"
     }
    },
    "6f10ff977db1437f9a8150b58c368027": {
     "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": ""
     }
    },
    "6f8d95be1e6745dc8c140815e0fdcf72": {
     "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": ""
     }
    },
    "72ce8d5c6d7445559109b0932629040f": {
     "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
     }
    },
    "78ab6382244e4ac7a0c3c351045ad4d4": {
     "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
     }
    },
    "7c0cf588e4ed43aa8bd53b7de21ca8fe": {
     "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_e223a6ac2e4f413785cdf7ae9e22145d",
      "placeholder": "​",
      "style": "IPY_MODEL_8bd747ca955d4af7b5fcdfb36648aa06",
      "value": "Downloading (…)solve/main/vocab.txt: 100%"
     }
    },
    "7c34c319972546a9814324d7662da2ee": {
     "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_509a1e96c7d0425e81b9970850046cd8",
      "placeholder": "​",
      "style": "IPY_MODEL_09689d4970ad4d899dc94fc19eff66ae",
      "value": "Downloading (…)&quot;spiece.model&quot;;: 100%"
     }
    },
    "7c613a8dca134953952eb04c0686751a": {
     "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_14cb5b327ef342d189b3bba91a960881",
      "max": 466247,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_1e2eafa312c14837ac93c399be5f148d",
      "value": 466247
     }
    },
    "7e639a19120f41df95ba13a66d393512": {
     "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
     }
    },
    "807b43e211754dd081e4ad7a45bc93b8": {
     "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": ""
     }
    },
    "814c7b3a8afa45fa8687e4bf060b9540": {
     "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_171ac482dd8740fc84885243e2f8fc87",
       "IPY_MODEL_6e2fe96f262943f2bdd8b10b373436f3",
       "IPY_MODEL_d1d8496cb96245d6b30a271aa226cf56"
      ],
      "layout": "IPY_MODEL_90c937d96fa44573aed13e48e553aae0"
     }
    },
    "832aa56cfb224a6fbd491448f93b1d43": {
     "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_8693fe22c48d4a80a10837430099eed0",
       "IPY_MODEL_d70171ebec494163938e36605a27200e",
       "IPY_MODEL_6ae8a2b3d7e54b18906349fef5e191e6"
      ],
      "layout": "IPY_MODEL_dbe76b3217ac4657923131a289a3225a"
     }
    },
    "83b1e5b6cf3645369e83fa444619f4a7": {
     "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": ""
     }
    },
    "8693fe22c48d4a80a10837430099eed0": {
     "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_bc2f9972dfa946a1aa42e4cf5fa26bc8",
      "placeholder": "​",
      "style": "IPY_MODEL_6f10ff977db1437f9a8150b58c368027",
      "value": "Downloading (…)/main/tokenizer.json: 100%"
     }
    },
    "88319bed7bd64cc586c5c2afe844cbf7": {
     "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_315ad6b9de6f4ed986e86256b4b341cc",
      "max": 147,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_18159d2240a94bc1b459123a5dda3463",
      "value": 147
     }
    },
    "8b57ab8e02514f7a914f60b5727b9b02": {
     "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
     }
    },
    "8bcb9195ab0b4f3981aaf3dc52322428": {
     "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": ""
     }
    },
    "8bd747ca955d4af7b5fcdfb36648aa06": {
     "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": ""
     }
    },
    "8d6e9a4acc3442c49100d8cd12ac939f": {
     "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": ""
     }
    },
    "8f4ffc3c076643faae23c75e9c76d0bd": {
     "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
     }
    },
    "90c937d96fa44573aed13e48e553aae0": {
     "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
     }
    },
    "93ef72fc9ddb41fdb6eef12b67ab5e9b": {
     "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_68cf08edf636490a936d062027d40bd7",
       "IPY_MODEL_5eb1965ade2a468b84c41ed5621d733c",
       "IPY_MODEL_3c73f63144d544d581cdf779c9448ad0"
      ],
      "layout": "IPY_MODEL_0d03382fd93c40039b4d901c2255fb7b"
     }
    },
    "94418493347d45e8bebe003d374126da": {
     "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
     }
    },
    "953cdf375d6a43e98f8c4fbbcc9ecafa": {
     "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
     }
    },
    "983e2a8ae6f4489b9ffc1cd470d0fba0": {
     "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": ""
     }
    },
    "98f26be97d284f19bd142ef7c68ac2a2": {
     "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": ""
     }
    },
    "9946bff612284b3b91b8a8a4c8e3a0f2": {
     "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": ""
     }
    },
    "9c633e70548e4eaea1f90fc845650375": {
     "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_94418493347d45e8bebe003d374126da",
      "max": 90888945,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_e153a96825e249cb912757152461bc28",
      "value": 90888945
     }
    },
    "9d26fce231914d10b577c3ba63ed3d83": {
     "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_1912458c407741fb813d6d31e51bac52",
       "IPY_MODEL_88319bed7bd64cc586c5c2afe844cbf7",
       "IPY_MODEL_dbb0116fedc9443fb6a16c14df6e0e81"
      ],
      "layout": "IPY_MODEL_78ab6382244e4ac7a0c3c351045ad4d4"
     }
    },
    "9dbe43566103460c8f6d4d572e7e1869": {
     "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
     }
    },
    "9ee2a6824bbc48d58ae20b52ae11eaeb": {
     "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_56abbe55eb4c45bc9f5066c6ead39041",
      "placeholder": "​",
      "style": "IPY_MODEL_f1f7d6353b9648faa5592c3f1fb844e4",
      "value": " 662/662 [00:00&lt;00:00, 16.2kB/s]"
     }
    },
    "a0c4a8cbe3a7445287d31bc2a0478f88": {
     "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": ""
     }
    },
    "a2acd7c499ef49da953b0b7a598d2204": {
     "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
     }
    },
    "a3cff2d1acab43bcbcc674e2cf3da39d": {
     "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_f9bfa425e00440658b658c35a695cb34",
      "placeholder": "​",
      "style": "IPY_MODEL_f2399d7dca3c4683a14ec38694ac5beb",
      "value": " 612/612 [00:00&lt;00:00, 29.6kB/s]"
     }
    },
    "a4ff2e2b3e444c638b3afec4c49d18c2": {
     "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
     }
    },
    "a6cf1d7844854c469b8cbd657047dff5": {
     "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
     }
    },
    "a6ff338878eb4a428e870b9b45b51d2f": {
     "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_8b57ab8e02514f7a914f60b5727b9b02",
      "placeholder": "​",
      "style": "IPY_MODEL_9946bff612284b3b91b8a8a4c8e3a0f2",
      "value": "Downloading (…)/main/tokenizer.json: 100%"
     }
    },
    "a9981e4112954ab39333ecdce0209cd2": {
     "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
     }
    },
    "aa3fd34bd14d4529aa0f9364f06b09d0": {
     "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
     }
    },
    "ac0709ddb3aa456da430738234e9b7b9": {
     "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_e903c82e1d5e48b4bc8ad66a220d8e78",
      "placeholder": "​",
      "style": "IPY_MODEL_c2ec5da6963c40dcb1a4a625ed3cf9d0",
      "value": " 232k/232k [00:00&lt;00:00, 1.24MB/s]"
     }
    },
    "ae9be6b5d9974f3aa1fff4d9d9811db2": {
     "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": ""
     }
    },
    "afbaab55bf5d455ebb6f4a46ea2fcf69": {
     "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": ""
     }
    },
    "b832963c9b3f45729e57c27934ea5d4f": {
     "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": ""
     }
    },
    "bc2f9972dfa946a1aa42e4cf5fa26bc8": {
     "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
     }
    },
    "bccdb441937048ca8aff896ceee11d79": {
     "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_7c34c319972546a9814324d7662da2ee",
       "IPY_MODEL_2f90810b8c314e768bc892bd62298a5d",
       "IPY_MODEL_c940638b37c94b319b46a66c3bc9626e"
      ],
      "layout": "IPY_MODEL_06a7b2851700483084deaa1cf467b489"
     }
    },
    "bd399038150a4ed1b84cb3cb348ddbaa": {
     "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": ""
     }
    },
    "c0e36894917443379bbe6035c9f0aad4": {
     "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": ""
     }
    },
    "c2a916f5b1a54ec7af73d80c01723e4c": {
     "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": ""
     }
    },
    "c2ec5da6963c40dcb1a4a625ed3cf9d0": {
     "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": ""
     }
    },
    "c31c680757c74dd68dae7378f76c4da6": {
     "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
     }
    },
    "c4443716452d44b9ba6a9d70c4949bcd": {
     "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
     }
    },
    "c4892f0c1c9f4920963dc5300ec9ef68": {
     "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_a6ff338878eb4a428e870b9b45b51d2f",
       "IPY_MODEL_7c613a8dca134953952eb04c0686751a",
       "IPY_MODEL_6c77bc8def84423893a96ae7ee6ba70e"
      ],
      "layout": "IPY_MODEL_72ce8d5c6d7445559109b0932629040f"
     }
    },
    "c940638b37c94b319b46a66c3bc9626e": {
     "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_4207c6a983b74eda8285f3b929d9d50c",
      "placeholder": "​",
      "style": "IPY_MODEL_6f8d95be1e6745dc8c140815e0fdcf72",
      "value": " 792k/792k [00:00&lt;00:00, 12.5MB/s]"
     }
    },
    "cbae0c2c2a8d4138bc36f93eb60dd15a": {
     "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
     }
    },
    "ce9c6563d1d94e7084f230a667fb89b1": {
     "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
     }
    },
    "d1d8496cb96245d6b30a271aa226cf56": {
     "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_aa3fd34bd14d4529aa0f9364f06b09d0",
      "placeholder": "​",
      "style": "IPY_MODEL_f6cd564cdb244f57b62cd8b92f7b4db7",
      "value": " 2.20k/2.20k [00:00&lt;00:00, 91.3kB/s]"
     }
    },
    "d3bc1ab67a0f49baaaf1accddfa661a1": {
     "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": ""
     }
    },
    "d70171ebec494163938e36605a27200e": {
     "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_6df5127ee271414994942e15283675e1",
      "max": 2424064,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_e80da9494b0a4d6ba4d0397befcff05e",
      "value": 2424064
     }
    },
    "d7390762f33c4e7aa1b68950c01eb0e4": {
     "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_44e8213fce64427597c9b0d9a96dda6a",
      "max": 231508,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_5842c382af3244aa8d18c5b9f309d8d3",
      "value": 231508
     }
    },
    "dbb0116fedc9443fb6a16c14df6e0e81": {
     "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_1eb8b60785214cdbbfa8f2e94485aec7",
      "placeholder": "​",
      "style": "IPY_MODEL_11db43a55bd549e8b8c2f61078705785",
      "value": " 147/147 [00:00&lt;00:00, 5.93kB/s]"
     }
    },
    "dbe76b3217ac4657923131a289a3225a": {
     "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
     }
    },
    "dde880ceb5dd4a879aad87e8cc6d096b": {
     "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
     }
    },
    "e153a96825e249cb912757152461bc28": {
     "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": ""
     }
    },
    "e223a6ac2e4f413785cdf7ae9e22145d": {
     "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
     }
    },
    "e4ebe76f9e594a13b44247c73f64b6cd": {
     "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
     }
    },
    "e50a6c12f613458086c1ae92a03bacb6": {
     "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
     }
    },
    "e6116c18165b488abef77ec20c1bdc96": {
     "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_56f7460f3d264e2aa752b203830c6fa2",
       "IPY_MODEL_9c633e70548e4eaea1f90fc845650375",
       "IPY_MODEL_61c8a73e75aa4f68958cf52dcc0bd5b2"
      ],
      "layout": "IPY_MODEL_549f5eaa451f42ad85ee71a5cfb78188"
     }
    },
    "e80da9494b0a4d6ba4d0397befcff05e": {
     "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": ""
     }
    },
    "e903c82e1d5e48b4bc8ad66a220d8e78": {
     "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
     }
    },
    "eb6bb871f3c94def8fee6017999291f6": {
     "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": ""
     }
    },
    "eeb0676887f140ffb239faacb20b9194": {
     "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": ""
     }
    },
    "f07beb4e9abf44eba1e4d3454e0cf778": {
     "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_a2acd7c499ef49da953b0b7a598d2204",
      "max": 662,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_11827528188d492eb055f09767f65466",
      "value": 662
     }
    },
    "f1f7d6353b9648faa5592c3f1fb844e4": {
     "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": ""
     }
    },
    "f2399d7dca3c4683a14ec38694ac5beb": {
     "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": ""
     }
    },
    "f50bbf5f8de842fd8295e47681c1445e": {
     "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_a9981e4112954ab39333ecdce0209cd2",
      "max": 3132781861,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_0122c94a616940019baad7d5c59a887a",
      "value": 3132781861
     }
    },
    "f6cd564cdb244f57b62cd8b92f7b4db7": {
     "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": ""
     }
    },
    "f88c249d51fd4f869ec65ce4ddac3a11": {
     "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": ""
     }
    },
    "f9bfa425e00440658b658c35a695cb34": {
     "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
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
